█
LastWrite
  • > Curriculum
  • > Pricing
  • > For Educators
  • > About
  • > Contact
Log InGet Started

Questions, concerns, bug reports, or suggestions? We read every message, write to us at [email protected].

More ways to reach us →
LastWrite

Structured computer science lessons for aspiring developers and security professionals.

[email protected]

(201) 785-7951

Mon–Fri, 9 AM–5 PM EST

Learn

  • Curriculum
  • Pricing

Company

  • About
  • For Educators & Schools
  • Contact Us

Legal

  • Terms of Service
  • Privacy Policy
© 2026 LastWrite. All rights reserved.
Curriculum/Programming Languages/Node.js/Passion Project: REST API from Scratch
240 minAdvanced

Passion Project: REST API from Scratch

After this lesson, you will be able to: Build a REST API from scratch with Node + TS + Fastify + Prisma + Postgres; deploy to Railway / Render.

Passion project per Curriculum-Upgrade.md. The portfolio centerpiece.

Prerequisites:Testing Node.js

Project: TODO Sync API (or pick your own)

Three resources + auth + tests + deploy.

  1. 1

    M1: scaffold Fastify + TS + Prisma + Postgres. Health endpoint.

  2. 2

    M2: Schema: User, Project, Task. Zod request validation. Three resources with full CRUD.

  3. 3

    M3: Auth: session-based with Lucia, or JWT. /signup + /login + middleware.

  4. 4

    M4: Validation + error handling: central error middleware; consistent response shape.

  5. 5

    M5: Tests: 30+ tests covering happy path + auth + validation errors.

  6. 6

    M6: Deploy to Railway/Render. Connect a managed Postgres. Real URL.

  7. 7

    M7: README: API docs, architecture diagram, run-locally instructions, deploy instructions.

💡 What gets you the interview

Live URL + GitHub + README. Walk through the auth flow + one error case + the test suite. Five minutes of demo proves you ship.

Common mistakes

No auth (toy projects). No tests. Local-only (no deploy). Hardcoded secrets. No README.

Sign in and purchase access to unlock this lesson.

Sign in to purchase
←Testing Node.js
Back to Node.js
Node.js Job Readiness→