This project is a Twitter backend application built using Node.js, Prisma, SQLite, JWT authentication, passwordless authentication, various middlewares, user management functionalities, and Docker containerization.
- Node.js: Backend server using Node.js for handling HTTP requests.
- Prisma: Database ORM for interfacing with an SQLite database.
- SQLite: Embedded database for storing application data.
- JWT Authentication: JSON Web Token-based authentication for secure API access.
- Passwordless Authentication: Authentication method without using passwords.
- Middlewares: Implemented for authentication, error handling, and more.
- User Management: Functionalities for managing users, their profiles, and tweets.
- Docker Containerization: Docker setup for containerizing the application.
- Clone the repository:
git clone <repository-url> cd twitter-backend
- Run Project:
npm install
npx prisma migrate dev
npm start
POST /auth/login
: User login endpoint.POST auth/logout
: User logout endpoint.POST /auth/reset-password
: Reset password endpoint (passwordless).
There are various other endpoints for user management, tweets, and additional functionalities.
- Users : POST,GET - /users.
- Tweets : POST,GET - /tweets.
authMiddleware
: Middleware for JWT authentication.errorHandlingMiddleware
: Error handling middleware.