Chapter 1 · Lesson 1

Course Setup & The Project We'll Build

Install Git, Node, and an editor, then earn a green local test run before automating anything.

You can't automate something you can't run by hand first. So before we touch any pipeline, let's get the tools installed, meet our project, and earn a green test run on your own machine.

Why start here?

😭 The manual pain

Most beginners try to "set up CI/CD" on a project that doesn't even run cleanly on their own laptop. The pipeline fails, and now you're debugging two things at once: your app and the automation. You can't tell which is broken.

✅ How we fix it

We get a reliable, green local baseline first. Once npm test passes on your machine, every later lesson just teaches a robot to run the exact same commands. Automation becomes "do what I already do, automatically."

The tools you need

Four things. Install them once and you're set for the whole course.

  • Git — version control. Check with git --version.
  • Node.js (v20 LTS) — runs our JavaScript app and tests. Check with node --version.
  • A code editor — VS Code is a great free default.
  • A GitHub account — free, and where our entire pipeline will live.

Meet the project: the Task Manager API

Throughout this course we improve one project — a small Task Manager API built with Node.js, Express, and tested with Jest. It has clear tests, a real build step, and is easy to containerize and deploy. That makes it the perfect CI/CD teaching project.

git clone the repo npm install dependencies npm test ✓ all green npm start it's alive!
Your local baseline: the exact four steps a CI pipeline will later run for you.

Clone, install, test, run

Open a terminal and run these one at a time. (Replace the URL with the course's starter repo.)

terminal

git clone https://github.com/your-org/task-manager-api.git
cd task-manager-api
npm install      # download dependencies into node_modules
npm test         # run the Jest test suite — expect all green
npm start        # boot the API on http://localhost:3000

With the server running, hit it once to prove it works:

terminal

curl http://localhost:3000/api/tasks
# -> [] (an empty task list, as JSON)
🔄 Adapt for your stack

The spine of this course is Node.js, but every command has an equivalent:

  • React (frontend): npm install → same; npm test → same; build with npm run build; run with npm run dev.
  • Python / Flask: pip install -r requirements.txt; test with pytest; run with flask run.

What this course IS — and IS NOT

IS: a hands-on, beginner-to-job-ready path through real CI/CD using GitHub Actions, built around one running project.

IS NOT: a deep Kubernetes, Terraform, or platform-engineering course. Those appear only as a closing "where to go next" perspective in Section 8 — not as core lessons.

🎯 Mini challenge: "Is your machine CI-ready?"

Run all four checks and confirm each one: git --version, node --version (expect v20+), npm test shows all green, and curl returns an empty array. If every box ticks, you're ready to automate.

Lesson Summary
  • Get a green local baseline before automating — CI just repeats commands you already trust.
  • Four tools power the whole course: Git, Node.js, an editor, and GitHub.
  • We improve one project — the Task Manager API — in every lesson, so there's no stack-switching.
  • This course is practical CI/CD with GitHub Actions, not a Kubernetes or Terraform deep-dive.