This project is a CRUD (Create, Read, Update, Delete) posts application built with Node.js (TypeScript), using Fastify for the server framework, Zod for validation, and Prisma ORM for interaction with the PostgreSQL database.
- Create: Users can create new posts.
- Like: Users can like posts.
- Update: Users can update their posts.
- Delete: Users can delete their posts.
- Create: Users can comment on posts.
- Like: Users can like comments.
- Delete: Users can delete their comments.
- Update: Users can update their comments.
- Follow: Users can follow other users.
- Remove Follower: Users can remove followers.
- Node.js (TypeScript): We use Node.js, a JavaScript runtime, to build the server-side logic.
- Fastify: Fastify is used as the server framework for our application.
- Zod: Zod is used for schema validation in our application.
- Prisma ORM: Prisma is an object-relational mapper (ORM) that makes it easy to interact with our PostgreSQL database.
- REST Client: An optional extension used for making HTTP requests, similar to Postman, but directly within VS Code. If you install the extension, there will already be pre-configured routes in the "src/routes" directory.
- Clone the repository to your local machine using
git clone
. - Install all project dependencies with
pnpm install
. - Set up your environment variables. You will need your PostgreSQL credentials.
- Run the project locally with
pnpm run dev
.
Contributions are always welcome! Please read the contribution guidelines first.
Distributed under the MIT License. See LICENSE
for more information.