Welcome to WriteNForget, the ultimate space to pen down your thoughts and let go. Our platform is designed for those who want to express themselves freely without the pressure of permanence. Here, you can write your thoughts and forget them, creating a digital journal, diary, blog, or note collection that is both private and liberating.
At WriteNForget, we believe in the power of expression and the freedom that comes with it. Whether you are jotting down memories, drafting posts, or simply organizing your ideas, our site offers a seamless and secure environment to do so. Our mission is to provide you with a tool that helps you capture your thoughts effortlessly and move forward without the need to hold on to them.
Join our community of writers, thinkers, and dreamers. Share your thoughts, let them flow, and embrace the peace of mind that comes with writing and forgetting.
- Create an account
- Login
- Write a post
- Like a post
- Comment on a post
- Repost
- Publish posts
- Search for posts and users
- Edit profile
- List all posts
- View individual posts
- Node.js: JavaScript runtime for building the backend.
- Prisma: ORM for database management.
- TypeScript: Superset of JavaScript for static typing.
- EJS: Templating engine for generating HTML markup.
- Render: Hosting service for the application.
- Aiven: Database hosting service.
- Google Analytics: just for the experience.
To get started with the project, follow these steps:
-
Clone the repository:
git clone https://github.com/jmatoso/WriteNForget.git cd WriteNForget
-
Install dependencies:
npm install
-
Set up environment variables:
Create a
.env
file in the root of the project and add the following variables:DATABASE_URL="your-aiven-database-url" SECRET="your-session-secret" NODE_ENV="development" MAX_AGE=86400 EMAIL="your-email@example.com"
-
Run database migrations:
npx prisma migrate dev
To start the development server, run:
npm run dev
The application will be available at http://localhost:3000
.
The site is hosted on Render and the database on Aiven. Follow these steps for deployment:
- Set up your Render account and create a new web service.
- Link your GitHub repository to Render.
- Add the required environment variables in Render's dashboard.
- Deploy the application directly from the Render dashboard.
or
This project is used for my studies in Node.js and related technologies. Feel free to use and modify the code for your learning purposes.
There may still be things to improve. :)