π Backend Engineering Bootcamp Handbook
Welcome to the Backend Engineering Bootcamp Handbook β a practical, hands-on guide to building, debugging, and delivering backend services on a real engineering team.
This handbook is not something to read once. It is something to revisit, practice, and apply daily.
π What This Handbook Covers
By the end of this handbook you will be able to:
- Set up a full development environment from scratch
- Build backend APIs with FastAPI
- Use Python virtual environments to manage dependencies cleanly
- Persist data in PostgreSQL
- Containerize and orchestrate services with Docker Compose
- Debug failures across API, database, and container boundaries
- Use Git the way real engineering teams use it
- Test your own APIs and demo your work weekly
- Pass the final readiness evaluation
πΊοΈ Table of Contents
| Part | Title | Topics |
|---|---|---|
| Part 1 | π§ Development Environment & Foundations | Full dev environment setup (IDE, Python, Git, Docker), venv, Hello World, Git basics, HTTP & APIs |
| Part 2 | β‘ Backend: FastAPI | Project structure, routes, schemas, services, database |
| Part 3 | π Virtualenv & API Testing | Virtual environments, pip, requests, weekly demo workflow |
| Part 4 | π³ Docker + Docker Compose | Images, containers, Dockerfile, Compose |
| Part 5 | ποΈ PostgreSQL + Database Integration | SQL basics, psycopg2, queries |
| Part 6 | π Debugging | Framework, scenarios, tools, mindset |
| Part 7 | πΏ Advanced Git | Branching, PRs, conflicts, undoing mistakes |
| Part 8 | ποΈ Backend Capstone Project | Build a complete backend API with Docker + PostgreSQL |
| Part 9 | π― Final Evaluation, Readiness, and Expectations | Evaluation criteria, final test, engineering expectations |
π‘ Core Principle
Being ready does not mean:
- Finishing tutorials
- Copying code
- Knowing syntax
Being ready means:
You can take a task, understand it, break it down, implement it, debug it, and deliver it independently.
Understand problem β Break it down β Implement β Debug β Deliver
Backend readiness means you can explain API contracts, data persistence, error handling, runtime configuration, and how to verify the service from a clean environment.
βΆοΈ Start Here
β Part 1: Development Environment & Foundations
Back to GitHub Repository