A simple full-stack Todo App built with Next.js for the frontend, NestJS for the backend, PostgreSQL for the database (via Docker), and TypeORM for ORM. The app supports JWT authentication, DTO validation, and RESTful API communication. Testing is handled with Jest.
- Frontend: Next.js
- Backend: NestJS
- Database: PostgreSQL via Docker
- ORM: TypeORM
- API: RESTful
- Authentication: JWT
- Testing: Jest
- Version Control: Git & GitHub
- Code Editor: VS Code (Recommended)
Make sure you have the following installed on your machine:
- Node.js
- Docker
- TypeScript
- Text Editor (e.g., VS Code)
git clone https://github.com/Qosanglesz/todo-app.gitcd ./backend-nestjs
npm install# NestJS
PORT=8000
NODE_ENV=development
FRONTEND_ORIGIN=http://localhost:3000
# PostgreSQL
POSTGRES_HOST=localhost
POSTGRES_USER=myuser
POSTGRES_PASSWORD=mypassword
POSTGRES_DB=tododb
POSTGRES_PORT=5432
POSTGRES_SYNCHRONIZE=true # Use false in production
# PGAdmin
PGADMIN_DEFAULT_EMAIL=admin@admin.com
PGADMIN_DEFAULT_PASSWORD=root
PGADMIN_PORT=5050
# JWT
JWT_SECRET=secretdocker-compose --env-file .env up -dnpm run typeorm:run-migrationsnpm run start:devTo run tests for the backend using Jest, execute the following command:
npm run testcd ../frontend-nextjs
npm installNEXT_PUBLIC_BACKEND_DOMAIN="http://localhost:8000"
NEXT_PUBLIC_DOMAIN="http://localhost:3000"npm run dev- User authentication (JWT)
- Todo creation, editing, deletion
- PostgreSQL + pgAdmin support via Docker
- Pagination support
- Layered and microservice architecture
- DTO validation using NestJS pipes
- Unit testing using Jest
- Clean codebase with modular structure
MIT License
Developed by Qosanglesz