Chapter 16: Capstone — Ship It End-to-End
16.3 Suggested repo layout
shipit-capstone/
README.md
.gitignore
app/ # source
Dockerfile
docker-compose.yml
.github/workflows/ci.yml
deploy/ # ansible playbook OR k8s manifests (one path)
docs/
RUNBOOK.md
CHECKLIST.md
example.env # fake placeholders only
.gitignore must block:
.env
*.pem
terraform.tfstate
terraform.tfstate.*
.terraform/
*.tfvars
!example.tfvars
# example.env — FAKE placeholders for learning
DATABASE_URL=postgres://badge:changeme@db:5432/badge
API_TOKEN=replace-me-in-real-life
APP_ENV=local