Practical, interactive guides for the software engineering skills school doesn't teach.
Understand what Docker actually is and does (images, containers, Dockerfiles, ports, volumes, and Compose) without the enterprise hype.
Learn the actual Git workflow behind branches, commits, pull requests, and merge conflicts, the way professional teams use it.
Understand the full journey from your local dev server to a live domain: DNS, hosting, builds, and everything in between.
The handful of terminal commands you actually use day to day, plus paths and flags, without the become-a-Linux-wizard detour.
How to actually get code off GitHub: git clone versus ZIP downloads, remote-tracking branches, and the difference between git pull and git fetch.
The recipe, the snapshot, and the running instance: what an image, a container, and a Dockerfile actually are, and how docker build and docker run connect them.
Static builds, SPAs, SSR apps, backend APIs, full-stack apps, and databases, and why each one needs a different kind of home.
Setting up VS Code for real projects: the extensions worth installing, format on save, and why user settings and workspace settings are different.
What a frontend host actually does, how the beginner-friendly options compare, and how to pick one without starting a brand war.
What npm, pnpm, and Yarn actually do, the role of package.json and lockfiles, npm install versus npm ci, and why deleting a lockfile is goblin behavior.
A real working Dockerfile for a Node and Express app, every instruction explained, plus .dockerignore and the node_modules trap.
Why a long-running server is a different beast from a static site, and when to reach for a managed platform versus a VPS.
Why the Node.js version matters, how to check and pin it with .nvmrc, engines, nvm, fnm, or Volta, and the bugs a mismatch causes.
The three Docker settings that break most beginner setups, and exactly what 3000:3000 really means.
API URLs, CORS, HTTPS, env vars, and cookies, and why the localhost URL that worked all week dies the moment you deploy.
One file to start a Node API, PostgreSQL, and Redis together, with the networks, volumes, and env vars wired up.
Learn what environment variables are, where they live, how to use them safely, and how not to accidentally leak your secrets.
Learn what CI/CD means, what should happen before code gets merged or deployed, and how to set up a basic pipeline with GitHub Actions.
Registrars, nameservers, A and CNAME records, apex vs www, TTL, and propagation, explained without the jargon fog.
Why containers are disposable but your data should not be, named volumes versus bind mounts, and how to reset a database on purpose instead of by accident.
The dot-prefixed config files that keep a project consistent across machines: which to commit, which to keep local, and how they stop projects from rotting.
Why localhost means something different inside a container, how Compose service names work, and the API connection bugs that follow.
The difference between a linter and a formatter, why ESLint and Prettier sometimes fight, format on save, project config, and running them in CI.
Branch deploys, pull-request previews, rollbacks, and the safe feature-branch-to-production workflow that keeps you from breaking the live site.
How Docker fits a real app with a frontend, a Node backend, Postgres, and Redis, and why the frontend is often Dockerized for dev but shipped as static files.
The scripts block in package.json, the standard scripts every project should have, and running frontend and backend together.
Why real apps need a local database, how to run Postgres and Redis with Docker Compose, connection strings, seeds, migrations, resets, and the bugs in between.
Multi-stage builds, smaller images, non-root users, health checks, restart policies, and secrets, and why npm run dev is not a production command.
Debugging as a process, not a panic ritual: logs, devtools, the Network tab, stack traces, breakpoints, VS Code launch configs, and a checklist.
A practical survival guide for Docker problems: ps, logs, exec, inspect, rebuilding without cache, and reasoning through it built but does not work.