Onboarding
Welcome. This section gets you from a fresh clone to shipping a change. Read in order the first time through:
- Environment setup — toolchain and one-time configuration.
- Running the app — devices, build flavours and iOS quirks.
- Testing and the quality gate — what every push must pass, and how to work with it instead of against it.
The app in one paragraph
Section titled “The app in one paragraph”Chorki+ is an OTT streaming app (movies, series, live TV) built with Flutter
for Android and iOS. Video is HLS encrypted with AES-128 and unlocked by a
key server (the KMS); titles can be downloaded for offline viewing and cast
to Chromecast and AirPlay devices. The codebase follows clean architecture
(domain → data → presentation) wired together with GetIt, navigated by
AutoRoute, and themed by a token-based design system.
Where to look
Section titled “Where to look”| I need to… | Go to |
|---|---|
| Understand the layering and DI | Architecture |
| Touch anything around the player | Playback then the playback deep dives |
| Fix a download bug | Downloads then the downloads deep dives |
| Work on UI | Design system |
| Call a new API endpoint | Networking and the API reference |
| Know why startup is the way it is | Startup |
Ground rules
Section titled “Ground rules”- The local gate is the only gate. No CI runs the tests.
tool/quality.shruns before every push via the git hooks — keep it green. - Write docs for deep changes. Non-trivial subsystems get a multi-part
walkthrough under
docs/in the repo; this site publishes them automatically under Deep dives. - Prefer tokens over literals in UI. The design ratchet fails the gate if raw colour/spacing values increase.