Enterprise-grade task and project management microservices architecture, built using NestJS, Prisma, and Turborepo.
📋 View Feature Roadmap - Track upcoming features and implementation progress
This monorepo contains three microservices:
- API Service - Core business logic with Prisma ORM and database management
- Gateway Service - API Gateway with request routing and proxy middleware
- Logger Service - Centralized logging service using Winston
- Node.js >= 18.0.0
- pnpm >= 10.0.0
# Install dependencies pnpm install # Generate Prisma client pnpm run db:generateCopy the example environment file and update values:
# Copy .env.example to .env cp .env.example .envThen update the .env file with your database credentials and other settings.
# Run all services pnpm run dev:all # Run individual services pnpm run dev:api # API on port 4000 pnpm run dev:gateway # Gateway on port 3000 pnpm run dev:logger # Logger on port 4001# Build all services pnpm run build # Build specific service pnpm run build:api # Start in production pnpm run start:alltaskopedia/ ├── apps/ │ ├── api/ # API service with Prisma │ ├── gateway/ # API Gateway │ └── logger/ # Centralized logging ├── packages/ # Shared packages │ ├── common/ │ ├── config/ │ ├── contracts/ │ └── types/ └── infra/ # Infrastructure configs JWT-based authentication system with the following endpoints:
Public Endpoints:
POST /api/user/signup- Register new userPOST /api/user/login- Login (returns JWT token)POST /api/user/verify-otp- Verify account with OTPPOST /api/user/resend-otp- Resend OTPPOST /api/user/reset-password- Reset password
Protected Endpoints (require Authorization: Bearer <token> header):
- User CRUD operations
- Project management (create, update, archive, delete)
- Task management (create, update, archive, delete)
- Dashboard statistics
pnpm run db:migrate # Run migrations pnpm run db:push # Push schema changes pnpm run db:studio # Open Prisma Studio pnpm run db:reset # Reset databasepnpm run test # Run tests pnpm run test:cov # Test coverage pnpm run lint # Lint code pnpm run format # Format code- Framework: NestJS
- Language: TypeScript
- Database: Prisma ORM (MySQL)
- Authentication: JWT (jsonwebtoken)
- Logging: Winston
- Build Tool: Turborepo
- Package Manager: pnpm
ISC