Build an Express Blog

Build Copperline Journal with Express, MongoDB, EJS, Bootstrap, Passport sessions, profiles, owned post CRUD, search, password recovery, and a Render deployment.

  • Difficulty Intermediate
  • Parts 12
  • Stack JavaScript, Node.js, Express, MongoDB, Mongoose, EJS, Bootstrap 5, Passport local + sessions

How this project works

Copperline Journal is an original teaching blog built in twelve complete snapshots. Clone once and run any numbered folder without rebuilding all earlier stages.

The path starts with Express and routing, adds EJS and Bootstrap, then introduces isolated MongoDB databases for data, accounts, posts, and sessions. Later parts add media, ownership, pagination, search, secure reset tokens, and deployment.

Snapshots 4–12 include deterministic seed accounts: ada@example.com and grace@example.com, both using password123. Use them to test authentication and authorization.

Local services run through Docker Compose. The final snapshot documents Render, MongoDB Atlas, SMTP, secure cookies, and environment-only secrets.

Open GitHub repo →

Parts in order

Work through the parts in sequence. Each lesson explains the ideas, then points you to a runnable GitHub snapshot.