HOCO B2B
Team tasksImad

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.

FieldDetails
Task codeMDA-01
PhaseP1 — V1 build & integration
Product scopeV1
StatusPlanned
StartWed 25 Nov 2026
DueThu 26 Nov 2026
ResponsibleImad — Mobile developer (Flutter)
Co-responsible—
Effort1.25 person-day(s) planned · 4 from scratch · size S
Area · appDelegate app · mobile
Depends onDES-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

#SubtaskOwner
1DelegateHomeScreen 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
2Objectives and conversion widgets: progress bars per ObjectiveMetric (« Visites », « Inscriptions », « Installations », « Premières commandes », « Commandes », « Chiffre d'affaires ») and conversion rateImad
3Quick actions: « Nouveau revendeur », « Inviter », « Relances » (with due count), « Synchronisation » with SyncStatusPillImad
4Offline home: the aggregate stored in a drift cache table and counters recomputed from local visits; « Mis à jour à 08:12 » labelImad
5ObjectivesScreen DA-22: GET /delegate/objectives?period=DAY|WEEK|MONTH with target vs achieved per metricImad
6ProfileHubScreen DA-24 on GET /delegate/profile: name, phone, zones, links to zone, objectives, reports, messages, settings, sync centre, sign-out (refused while unsynced)Imad
7MyZoneScreen DA-25 on GET /delegate/zone: wilayas and communes covered with point-of-sale counts, map overview with hoco_mapsImad

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

RequirementTitleRelease
FLD-01Delegate accounts and profiles; assignment of wilayas, communes and points of saleV1
FLD-02Objectives per delegate and period: visits, sign-ups, app installs, orders, revenueV1
FLD-05Delegate home: today's tour, counters, objectives, conversion rate, quick accessV1
GEO-02Zones grouping wilayas and communes, assigned to delegatesV1

Screens

ScreenNameApp
DA-05HomeDA
DA-22ObjectivesDA
DA-24Profile hubDA
DA-25My zoneDA

API surface

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.

On this page