A course repository featuring accompanying code for the course exercises.
This repository contains multiple mini-projects and exercises that teach software development practices using Claude Code. All projects work with the Chinook sample database, a realistic music store dataset, allowing you to focus on development patterns rather than data setup.
Each project directory contains a CLAUDE.md file with specific instructions and context for that exercise.
Music Analytics API - Build REST APIs for querying music data
Music Analytics Reporter - CLI tool for generating music database reports
- Python 3.12+
- uv (or pip)
- Claude Code CLI installed
Key packages included:
- Flask/FastAPI - Web framework
- SQLAlchemy - Database ORM
- Pydantic - Data validation
- pytest - Testing framework
- requests/httpx - HTTP clients
See pyproject.toml for the complete list.
All projects share the chinook.db SQLite database containing:
- Artists, Albums, Tracks
- Genres, Playlists
- Customers, Invoices
- Sales data
Use any SQLite client or the MCP database tools to explore the schema.
- Start with the API projects to learn REST API patterns
- Progress to the Reporter projects to practice planning and implementation
- Use Archive projects to see alternative approaches
Each project builds on patterns from previous exercises.