A practical, deep-dive, open-source Express.js reference — built as a plain HTML/CSS/JS site, no framework or build step required to run it.
Live docs start here → index.html
- 14 guide pages covering Express end-to-end: getting started, routing, middleware, request/response, templating, error handling, building a REST API, database integration (MongoDB + Mongoose, PostgreSQL + Sequelize/Prisma), auth & security, testing, deployment, and production best practices.
- 50 interview questions, answered and filterable by category, at
pages/interview-questions.html. - 7 full project specs with starter code — a Todo API, a JWT auth system, a relational blog API, a URL shortener, a file upload service, a Socket.IO chat app, and a rate-limited API gateway — at
pages/projects.html. - Every code block is copy-ready and cross-referenced against the official Express.js and MDN documentation.
No build step needed — it's static HTML. Any of these work:
# Option 1: just open it
open index.html
# Option 2: serve it (recommended, avoids any file:// quirks)
npx serve .
# or
python3 -m http.server 5500Then visit http://localhost:5500 (or whichever port your server prints).
expressJS.ai/
├── index.html # landing page
├── pages/ # the 14 generated guide pages
├── assets/
│ ├── css/style.css # the whole design system
│ └── js/main.js # mobile nav, copy buttons, Q&A filter, scroll-spy TOC
└── build/
├── build.py # assembles pages/*.html from content fragments + shared chrome
└── content/*.html # the actual per-page content — EDIT THESE, not pages/*.html
The files under pages/ are generated — the sidebar, header, footer, and pager on every page are stitched together automatically so they stay consistent. To change a page's content:
-
Edit the matching fragment in
build/content/<page-id>.html. -
Regenerate the pages:
python3 build/build.py
To add a brand-new page, add an entry to the PAGES list in build/build.py, create a matching fragment in build/content/, then run the build script.
Issues and pull requests welcome — corrections, new interview questions, additional projects, or entirely new guide pages (GraphQL with Express, WebSockets deep-dive, microservices patterns, TypeScript setup) are all in scope.
MIT — see LICENSE.