HOCO B2B
Team tasksImad

MRA-01 — Reseller app — home

Greeting, notifications bell, search entry with scanner, banner carousel/daily offer, quick access, popular categories, recommended products, balance/credit tiles.

FieldDetails
Task codeMRA-01
PhaseP1 — V1 build & integration
Product scopeV1
StatusPlanned
StartSun 8 Nov 2026
DueMon 9 Nov 2026
ResponsibleImad — Mobile developer (Flutter)
Co-responsible—
Effort1.25 person-day(s) planned · 4 from scratch · size S
Area · appReseller app · mobile
Depends onMOB-06, DES-07
Unblocks—
Milestones—

Summary

Greeting, notifications bell, search entry with scanner, banner carousel/daily offer, quick access, popular categories, recommended products, balance/credit tiles.

Description

The home screen (RA-09) is where resellers land every day and where guests discover the offer, so it must load fast and adapt to the session: guests see merchandising without prices, signed-in resellers see their prices, balance and credit. Scope: greeting, notifications bell with unread badge, search entry with scanner shortcut, banner carousel and daily offer with countdown, quick-access tiles, popular categories, recommended products, balance/credit tiles, the pending-validation or guest banner and the regional WhatsApp button placement (the button itself is built in MRA-08). Data comes from catalog.home (auth optional), finance.summary, banners.list / promotions.list and notifications.unreadCount. It needs SRV-11/SRV-19/SRV-18 or Prism examples from Anis and Akram's DES-07 home (guest and signed-in). MRA-02, MRA-03 and MRA-06 are reached from here.

Subtasks

#SubtaskOwner
1HomeScreen RA-09 with a HomeController calling GET /catalog/home once (guest or signed-in) and rendering sections in the server's order; skeletons while loadingImad
2Header: greeting with store name (signed-in) or « Bienvenue » (guest), bell with notifications.unreadCount badge, search field opening RA-10 and scanner icon opening RA-11Imad
3BannerCarousel (auto-scroll, indicators) whose targets resolve to routes: product, category with filters, promotion detail RA-25Imad
4DailyOfferCard with a countdown computed from server time (offset from the response Date header) and stopping at expiryImad
5Quick-access tiles (« Commandes », « Factures », « Favoris », « Promotions ») hidden or prompting sign-up for guestsImad
6Popular categories row and recommended products grid using ProductCard with PriceText (lock for guests) and AvailabilityPillImad
7Balance & credit tiles from finance.summary (balance due, available credit) for active resellers only, linking to RA-29Imad
8Contextual banners: guest « Créez un compte pour voir les prix », pending « Compte en attente de validation »; placement of the MRA-08 WhatsApp buttonImad
9Stale-while-revalidate cache of the last home payload for offline launches, pull-to-refreshImad

Deliverables

  • apps/reseller/lib/src/features/home/ (screen, controller, sections)
  • packages/hoco_catalog/lib/src/widgets/banner_carousel.dart and daily_offer_card.dart
  • Widget tests and goldens for guest and signed-in home

Acceptance criteria

  • A guest home shows banners, daily offer, categories and products with no price and no finance tiles (AUTH-10)
  • A signed-in active reseller sees their customer-type prices, balance and available credit (FIN-10)
  • The bell badge matches notifications.unreadCount and updates after reading a notification (NOT-01)
  • The daily-offer countdown reaches zero at the server's end time even if the phone clock is wrong (PRM-05)
  • Home is usable within 3 s on a mid-range phone on 4G and shows the cached version offline (NFR-01)
  • No product card shows a stock quantity, only « En stock » / « En rupture » (STK-07)

Requirements covered

RequirementTitleRelease
CAT-11Home merchandising: popular categories and recommended products (rules-based)V1
PRM-05Home banners and daily offer carousel with countdownV1
FIN-10Reseller finance view: balance, available credit, invoices, paymentsV1
NOT-01In-app notification inbox with read/unread in every appV1
AUTH-10Guest mode: the reseller app and web can be browsed without an account; prices stay hidden until the visitor signs up and declares a customer typeV1

Screens

ScreenNameApp
RA-09HomeRA

API surface

Test measures

  • Golden tests of the home in guest, pending and active states
  • Widget test of the countdown with a fake clock and a skewed device time
  • Integration test against Prism: open app → home → tap banner → promotion detail

Risks

  • The home aggregate grows heavy — agree payload limits with Anis (e.g. 10 recommended products) and lazy-load below the fold

KPI

  • Delivered by Mon 9 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