MDA-01 — Delegate app — home, profile, zone, objectives
Home with today's tour and counters, objectives and conversion widgets, profile hub, my zone, objectives page.
| Field | Details |
|---|---|
| Task code | MDA-01 |
| Phase | P1 — V1 build & integration |
| Product scope | V1 |
| Status | Planned |
| Start | Wed 25 Nov 2026 |
| Due | Thu 26 Nov 2026 |
| Responsible | Imad — Mobile developer (Flutter) |
| Co-responsible | — |
| Effort | 1.25 person-day(s) planned · 4 from scratch · size S |
| Area · app | Delegate app · mobile |
| Depends on | DES-11, MOB-09 |
| Unblocks | — |
| Milestones | — |
Summary
Home with today's tour and counters, objectives and conversion widgets, profile hub, my zone, objectives page.
Description
The delegate's day starts on the home screen (DA-05): today's tour, counters, objectives and conversion at a glance, with quick access to the actions that matter (FLD-05, FLD-02). Scope: home DA-05, objectives DA-22, profile hub DA-24 and my zone DA-25, all readable offline from the local snapshot. It reads delegate.home, delegate.objectives, delegate.profile and delegate.zone (SRV-21, SRV-10) and caches them in hoco_offline; it needs Akram's DES-11 frames. The home's tour card hands off to MDA-02 (programme, start), and its quick actions open MDA-07 (new reseller), MDA-08 (invite) and MDA-06 (follow-ups).
Subtasks
| # | Subtask | Owner |
|---|---|---|
| 1 | DelegateHomeScreen DA-05 on GET /delegate/home: zone name, today's tour card (TourStatus pill, planned / done / remaining visits, « Démarrer la tournée » or « Continuer »), daily counters (visits, sign-ups, installs, first orders) | Imad |
| 2 | Objectives and conversion widgets: progress bars per ObjectiveMetric (« Visites », « Inscriptions », « Installations », « Premières commandes », « Commandes », « Chiffre d'affaires ») and conversion rate | Imad |
| 3 | Quick actions: « Nouveau revendeur », « Inviter », « Relances » (with due count), « Synchronisation » with SyncStatusPill | Imad |
| 4 | Offline home: the aggregate stored in a drift cache table and counters recomputed from local visits; « Mis à jour à 08:12 » label | Imad |
| 5 | ObjectivesScreen DA-22: GET /delegate/objectives?period=DAY|WEEK|MONTH with target vs achieved per metric | Imad |
| 6 | ProfileHubScreen DA-24 on GET /delegate/profile: name, phone, zones, links to zone, objectives, reports, messages, settings, sync centre, sign-out (refused while unsynced) | Imad |
| 7 | MyZoneScreen DA-25 on GET /delegate/zone: wilayas and communes covered with point-of-sale counts, map overview with hoco_maps | Imad |
Deliverables
- apps/delegate/lib/src/features/home/ (DA-05)
- apps/delegate/lib/src/features/profile/ (DA-22, DA-24, DA-25)
- packages/hoco_offline drift cache table for the home aggregate
Acceptance criteria
- Home shows today's tour, counters and objectives from the server and the same values offline from the cache (FLD-05)
- Counters update immediately after a visit is completed offline, before sync
- Objectives switch between day, week and month and match the back-office figures (FLD-02)
- My zone lists only the delegate's own wilayas and communes (GEO-02, ACL-03)
- Sign-out from the profile hub is refused with a clear message while items are pending sync
Requirements covered
| Requirement | Title | Release |
|---|---|---|
| FLD-01 | Delegate accounts and profiles; assignment of wilayas, communes and points of sale | V1 |
| FLD-02 | Objectives per delegate and period: visits, sign-ups, app installs, orders, revenue | V1 |
| FLD-05 | Delegate home: today's tour, counters, objectives, conversion rate, quick access | V1 |
| GEO-02 | Zones grouping wilayas and communes, assigned to delegates | V1 |
Screens
API surface
| Endpoint group | Operations |
|---|---|
| Delegate home, profile, objectives & reports | 6 |
Test measures
- Widget tests of home in TO_START, IN_PROGRESS, SUSPENDED and COMPLETED tour states
- Unit tests of local counter recomputation from the visits table
- Golden tests of objective widgets at 0 %, 50 % and over 100 %
KPI
- Delivered by Thu 26 Nov 2026 within 1.25 person-day(s).
- Every acceptance criterion above demonstrated before hand-off; linked requirements' acceptance criteria pass.
- Zero open critical defects, permission gaps or data-integrity regressions at sign-off.
Generated from content/plan/tasks.json by scripts/generate-team-tasks.mjs. Dates are computed by the scheduler (Sunday–Thursday weeks, holidays excluded) — change the plan, not this page.
MRA-11 — Reseller app — Notification Centre, action buttons, group preferences, promotion tabs & flash-sale countdown
The reseller-app side of document 03: home Notification Centre, grouped inbox with action buttons, Android push action, per-group push switches, Promotions / Ventes flash tabs, FlashSaleCard countdown and flash sales in the home carousel.
MDA-02 — Delegate app — tour programme & calendar
Tour programme with tabs, mini-map with the same order as the list, start/suspend/resume, reorder when allowed, add an unplanned visit, calendar and history.