After this lesson, you will be able to: Design + ship a production-grade REST API: OpenAPI docs, JWT auth, validation, rate limiting, tests, deployed.
The capstone. A documented, tested, deployed REST API that you'd be proud to put in front of a hiring manager. Shows everything from this subtrack.
Real, used-by-real-people scope.
Option A: Bookmark/links API, categories, tags, public/private, search. (Pinboard clone.)
Option B: Recipe API, recipes + ingredients + ratings + meal-plan generation.
Option C: Habit tracker, habits + check-ins + streak calculation + weekly insights.
Option D: Tiny SaaS billing API, orgs + users + subscriptions + invoices + webhooks. (Hardest, most impressive.)
Production-grade.
1. Express, Hono, Fastify, or Next.js API routes (any modern Node framework).
2. At least 8 endpoints covering CRUD on 3+ resources.
3. JWT auth, login + register + refresh.
4. Zod (or equivalent) validation on EVERY input.
5. Consistent error envelope across endpoints.
6. Rate limiting on auth endpoints + per-user limits on writes.
7. OpenAPI spec generated from code, served as JSON + interactive UI (Scalar or Swagger UI).
8. At least 10 Supertest cases covering happy paths + error paths.
9. Postgres or Mongo backend (your call).
10. Deployed to Render / Railway / Fly.io / Vercel with a public URL.
11. README with quick-start, architecture diagram, design decisions.
Order matters.
Milestone 1: Project skeleton + DB connection + one route returning 200.
Milestone 2: 3+ schemas + tables/collections; CRUD endpoints for primary entity.
Milestone 3: JWT auth, register + login + middleware that protects routes.
Milestone 4: Validation + error envelope (consistent shape across all endpoints).
Milestone 5: OpenAPI docs (Scalar UI at /docs).
Milestone 6: Rate limiting (per-IP for auth + per-user for writes).
Milestone 7: Supertest suite, happy + error paths.
Milestone 8: Deploy + smoke-test the live URL.
Milestone 9: README + architecture diagram.
API: Render / Railway / Fly.io / Vercel, all have free tiers for hobby projects. DB: Neon (Postgres) or Atlas (Mongo), both free tier. Custom domain optional but nice, adds polish.
Sign in and purchase access to unlock this lesson.