Welcome to the team
You are joining as a Junior Python Developer. Our clients in India, the GCC, the UK and Canada run on systems we build: ERPs, booking apps, LMS platforms, POS systems and SaaS dashboards. This week builds the habits those projects need, not memorised syntax:
- Correctness first. Money in
Decimal, time zones handled, no double bookings. - Thin views, fat services. Business rules live in one place and get tested.
- No Django default admin in production. We build custom, modern dashboards for clients.
- Ship it. Code isn’t done until it is on Git, tested and deployed.
What you will build: BookIt
From Day 3 every lesson adds a piece to one product: BookIt, a booking platform for a service business (car wash, clinic, salon, gym). We have built this pattern for real clients many times.
Customer (Flutter app) → REST API with JWT → Service layer (rules) → PostgreSQL ← Staff dashboard (Django + Tailwind)
The six days
| Day | Morning: concepts | Afternoon: real-world task | Deliverable |
|---|---|---|---|
| 1 · Python core | venv and Git, mutability, comprehensions, closures, decorators, exceptions, files | Daily Sales Report CLI for a retail POS export | sales_report.py + errors.csv |
| 2 · Professional Python | OOP, dataclasses, typing, Enum, Decimal, generators, context managers, logging, requests, pytest | GST Invoice Engine with a full test suite | invoice.py + passing tests |
| 3 · Django foundations | Request lifecycle, layout, split settings, PostgreSQL, custom User, models, constraints, migrations, ORM | BookIt data layer: models, seed command, 8 report queries | Migrations + seed + reports |
| 4 · Web layer and dashboard | URLs, CBVs, templates, forms, auth and roles, service layer, middleware | Staff dashboard with KPIs, search, status workflow, service CRUD | Working dashboard |
| 5 · REST APIs | DRF serializers, viewsets, JWT, permissions, throttling, CORS, OpenAPI, API tests | Mobile API for the Flutter app | Swagger docs + green tests |
| 6 · Production and demo | Prod settings, security checklist, WhiteNoise, Gunicorn, Railway, performance, Git workflow | Deploy BookIt, then demo it to the team at 3:00 PM | Live URL + demo |
A typical day
| 9:30 – 9:45 | Stand-up: what I finished, what I’m doing today, what’s blocking me |
| 9:45 – 11:15 | Concept block 1: the mentor walks through lessons, you type along (no copy-paste) |
| 11:30 – 1:00 | Concept block 2 + quiz questions in pairs |
| 2:00 – 4:30 | Real-world task: work independently, commit small and often |
| 4:30 – 5:15 | Demo and review: 5 minutes each, one mentor comment, one peer comment |
| 5:15 – 5:30 | Push + daily log: three bullets in LOG.md (learned, built, still unclear) |
Ground rules
- The 20-minute rule. Stuck for 20 minutes? Ask. Bring what you tried, the exact error, and what you expected to happen.
- Commit every day. Push before 5:30 PM with clear messages (
feat: add booking model). Mentors review your PR the next morning. - AI tools (Claude Code, Copilot). We use them every day, so you will too. On Days 1–2, write it yourself first, then compare with AI. From Day 3 use AI freely, but you must be able to explain every line in review.