Chapter 1 ยท Lesson 1

Course Setup & The Project We'll Build

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.

Learning objectives
  • Install the four tools every lesson assumes: Git, Node.js, a code editor, and a GitHub account.
  • Meet the Task Manager API, the single Node.js project this whole course improves.
  • Clone it, install dependencies, run the tests, and start the server locally.
  • Know what this course is and what it deliberately is not.

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.

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