Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

expressJS.ai

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

What's inside

  • 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.

Running it locally

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 5500

Then visit http://localhost:5500 (or whichever port your server prints).

Project structure

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

Editing content

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:

  1. Edit the matching fragment in build/content/<page-id>.html.

  2. 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.

Contributing

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.

License

MIT — see LICENSE.

About

No description, website, or topics provided.

Resources

Stars

10 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages