Welcome to the "Getting Started with Claude Code" course on Dometrain!
This course teaches you how to use Claude Code effectively as an AI-powered coding assistant. You'll learn the fundamentals of working with Claude Code, how to guide it with context files, how to set up your projects, everyday development and git workflows, how to choose models and control cost, and how to extend Claude Code with custom skills, subagents, and MCPs.
Whether you're brand new to AI-assisted development or looking to get the most out of Claude Code, this course provides practical, hands-on experience using a real-world application as the running example.
This repository contains the source code for the course, which you can use to follow along.
The main branch contains the most up-to-date version of the code, reflecting the latest improvements, updates, and fixes.
Each section in the course has a folder in the repository. The folder contains the source code for the section, containing both a /start and /end directory—which aligns with the source code at a point in time as it relates to the course.
- Section 2: What is Claude Code
- Section 3: How Context Works
- Section 4: Setting Up Your Projects
- Section 5: Development Workflows
- Section 7: Git Workflows
- Section 8: Customising Claude Code
Install Claude Code.
Install .NET SDK 10 (LTS)
Install Node.js 24 (LTS) — bundles npm
Install Docker (Desktop or Engine) — required to run PostgreSQL and the integration tests
The course is built around a small Expense Tracker application with a .NET 10 Minimal API backend, a React 19 + Vite frontend, and PostgreSQL for storage.
docker compose up -d
dotnet ef database update --project api/ExpenseTracker.Api
dotnet run --project api/ExpenseTracker.Api
npm --prefix web install && npm --prefix web run devRun the last two commands in separate terminals so the API and the web dev server stay up.
| Service | URL | Notes |
|---|---|---|
| API | http://localhost:5057 | Endpoints: POST /api/expenses, GET /api/expenses |
| Web | http://localhost:5173 | Vite dev server; proxies /api to the API |
| Postgres | localhost:5432 | Database expenses, user expenses |
dotnet testThe integration tests use Testcontainers to spin up a Postgres container, so Docker must be running.