Project kickoff: read this first
You have been asked to set up a new client project. Maybe it is your first time owning the architecture, not just writing features. This module walks you through everything, in order, from "the contract is signed" to "a change on a branch reaches the dev environment by itself". You do not need to know any of it yet. Every page explains its terms, says why each step exists, and tells you how to check you got it right.
The whole picture
This is what exists when you finish the module.
Words you will meet
| Word | Plain meaning |
|---|---|
| Organisation (GitHub) | A shared home for a company's repos and people. People join it; repos belong to it, not to a person |
| AWS account | A separate box in AWS with its own resources and bill. We use one per environment |
| AWS Organizations | AWS's feature for grouping many accounts under one management account that pays for all of them |
| Environment | A full copy of the system for one purpose: dev (daily work), staging (final checks), prod (real users) |
| SSO (single sign-on) | One login, with MFA, that gets you into AWS and other tools. No separate passwords per account |
| MFA | A second proof at login, such as an authenticator app code |
| IAM | AWS's permission system. Who (a person or a service) can do what on which resource |
| Region | The AWS data-centre area your resources live in, for example ap-south-1 (Mumbai) |
| DNS | The internet's phone book: turns api.example.com into an address |
| TLS certificate | What makes https:// work. Issued free by AWS Certificate Manager (ACM) |
| Secret | A value that grants access: a database password, an API key. Lives in AWS SSM Parameter Store, never in code |
| CI/CD | The automatic build and deploy. We trigger it by pushing a git tag like dev-v-0.1.0 |
| DSN | The address an app uses to send errors to Sentry |
| Flavor | One build of a mobile app per environment: dev, staging, prod |
How every step page works
Each numbered page uses the same sections, so you always know where to look:
| Section | What it gives you |
|---|---|
| What it is | The idea in two or three sentences |
| Why we do it | The problem it prevents. Usually one we hit ourselves |
| Before you start | Access and information you need first |
| Steps | Numbered actions with the exact clicks or commands |
| Check it worked | A command or screen that proves it |
| If it goes wrong | The errors we have seen and what they mean |
| Done when | The boxes to tick before moving on |
Who does what
| Role | In this module |
|---|---|
| Project lead | Agrees ownership with the client, starts the slow accounts, signs off the checklist |
| Tech lead (often you) | GitHub, AWS, DNS, first repo, services |
| Client's signatory | Signs up for Apple, Google Play and payment accounts in the client's company name |
| DevOps owner | Reviews AWS and pipeline setup. On a small team this is also the tech lead |
How long it takes
About two weeks of calendar time, most of it waiting for Apple, Google and payment providers. The hands-on work is three to four days. The day-by-day plan is in The plan, day by day.
Rules
Follow the order. Each step depends on the ones before it. Skipping ahead, such as writing code in a personal repo "until the org exists", always costs more than it saves.
If a step here is wrong or out of date, fix the page in the same week. The next person follows it exactly as written.
Done when
- You have read this page and The plan, day by day.
- You know who the project lead, tech lead and client signatory are.