Project 02 — Full-Stack REST Application
What This Is
Your second major project is a full-stack collaborative application with a real database, authenticated API, and a React frontend. This is where everything from Modules 7–16 comes together.
Technical Requirements
- Backend: Express 5 or NestJS + TypeScript
- Database: PostgreSQL with Prisma ORM
- Auth: JWT (register, login, protected routes)
- Validation: Zod or class-validator
- Frontend: React + TypeScript (Vite)
- Deployment: API on Railway, frontend on Vercel
- Testing: At least 5 integration tests (Vitest)
Must-Have Features
- User registration and login
- At least 2 resource types with a relation (e.g. users → posts)
- Full CRUD on the main resource
- Protected routes (only logged-in users can create/edit/delete)
- Pagination on list endpoints
Project Ideas
| Idea | Resources |
|---|---|
| Recipe app | User, Recipe, Ingredient |
| Task manager | User, Project, Task |
| Blog platform | User, Post, Comment |
| Movie watchlist | User, Movie, WatchlistEntry |
| Fitness tracker | User, Workout, Exercise |