Note
The API is hosted on a free Render tier. Initial requests may experience a delay of up to 1 minute due to "sleep mode". Please wait a little bit for the server to wake up.
A robust NestJS backend for the Manage Your Flow project management system. This API handles complex relationships between users, projects, and tasks while ensuring secure data access.
- Implementation of a secure RBAC (Role-Based Access Control) system
- Management of complex relational data using Prisma ORM
- Secure session handling with JWT (Access & Refresh tokens)
- Development of a scalable, modular architecture following NestJS best practices
- Framework: NestJS
- Language: TypeScript
- Database: PostgreSQL
- ORM: Prisma
- Security: Passport.js, JWT Strategy, argon2
- Documentation: Swagger
auth/: Login, registration, and session managementtoken/: Logic for JWT generation and refresh token rotationusers/: User profile management and data retrievalprojects/: Project CRUD logicmembers/: Ownership logictasks/: Task managementdatabase/: Centralized Prisma Service
- JWT Dual-Token Strategy: Short-lived access tokens and persistent refresh tokens.
- Refresh Token Rotation: Prevents replay attacks by invalidating old refresh tokens upon new issuance.
- Password Hashing: Using
argon
Detailed documentation is available via Swagger UI.
Create a .env file in the root:
DATABASE_URL="postgresql://user:pass@host/db"
JWT_SECRET="secret"
FRONTEND_URL="[https://manage-your-flow.vercel.app](https://manage-your-flow.vercel.app)"
PORT=3000