Skip to content

Node.js Foundations

Node.js Foundations is the sixth course in the JavaScript Development Track. You already know how to build frontend SPAs. Now you will build the backend that powers them — and connect the two into a complete, deployed full-stack application.

Every concept in this course is applied directly to Bulletin — a community board where users post topics, comment, and upvote — with a Node.js + Express + SQLite API deployed to Railway and a React frontend deployed to GitHub Pages.

Part 1 — The Backend (M01–M07):

  • Node.js fundamentals — the event loop, non-blocking I/O, running scripts, and the REPL
  • The runtime — CommonJS vs ES Modules, fs, path, process, and environment variables
  • Express — servers, routing, HTTP methods, route parameters, and the request/response objects
  • Middleware — the middleware pattern, body parsing, CORS, custom middleware, and error handling
  • SQLite — relational database concepts, schema design, and CRUD with better-sqlite3
  • Authentication — bcrypt password hashing, JSON Web Tokens, auth middleware, Helmet, and rate limiting
  • Bulletin API — users, posts, comments, and upvote endpoints deployed to Railway

Part 2 — The Frontend (M08–M12):

  • API integration — axios, centralized API clients, and loading/error/success states
  • Auth UI — JWT storage, Auth Context, register/login forms, protected routes, and logout
  • The feed — fetching posts, creating and deleting posts, post detail, and optimistic updates
  • Polish — comments, user profiles, upvoting, search/filter, and error boundaries
  • Deployment — wiring the React frontend to the Railway API and deploying to GitHub Pages

This course assumes you have completed TypeScript Foundations and React Foundations. You should be comfortable with TypeScript, React hooks, useState/useEffect, Context, and React Router. No prior Node.js or backend experience is assumed.

All twelve modules build the same real application — Bulletin, a community board with posts, comments, upvotes, and user accounts. You build the backend API first, deploy it to Railway, then build the React frontend and deploy it to GitHub Pages.

The finished app:

  • Lets users register and log in with a JWT-based auth system
  • Shows a feed of posts sorted by newest or most upvoted
  • Lets authenticated users create and delete their own posts
  • Lets users comment on posts
  • Shows author profile pages with post history
  • Persists all data to a real SQLite database on the server