A full-stack Task Manager REST API built with NestJS and TypeScript. Implements production-ready patterns including secure JWT authentication via httpOnly cookies, Redis caching with smart invalidation, two-factor password change confirmation via email, and pagination.
Designed as a portfolio project demonstrating full-stack development skills — from database design with PostgreSQL and TypeORM to containerization with Docker and E2E testing with Supertest.
Frontend built with React, Redux Toolkit and TailwindCSS is available at - https://github.com/Roderen/task-manager-react
- JWT Authentication - secure httpOnly cookie-based auth
- User Registration & Login - with bcrypt password hashing
- Password Change with 2FA - email confirmation code via Nodemailer
- Redis Caching
- DTO Validation
- Swagger API Documentation
- PostgreSQL with TypeORM
- Docker
- E2E Testing
- Docker and Docker Compose
git clone https://github.com/Roderen/task-manager-nest-api.git
cd task-manager-nest-api
cp .env.example .env
docker compose up --buildApp will be available at http://localhost:3000
- Node.js 22.12+
docker compose up postgres redis -d
npm install
npm run start:devSwagger UI available at http://localhost:3000/api
Copy .env.example to .env and fill in the values.
JWT_SECRET - any random string, e.g: openssl rand -base64 32