Reseller web app
Requirements RWA-01 and RWA-02: a responsive web version of the reseller app with V1 feature parity, shipped in V1 before acceptance, on the same backend and rules as the mobile app.
The reseller web app (@hoco/web) is a responsive web version of the reseller app, decided by the team on 17 Oct 2026 (not in the cahier). It is part of V1: built during P1, tested in the acceptance campaign and deployed with the rest before the pilot, within the three-month frame (AUTHORING §1). It also serves the invitation landing page /i/{code} (IVT-04). Apps: RW and API — there is no web-specific server module; it uses the same operations as the reseller mobile app. Screens are on the reseller web page.
| ID | Requirement | Release | Priority | Source | Apps |
|---|---|---|---|---|---|
RWA-01 | Responsive web version of the reseller app with V1 feature parity (account, catalog, cart, orders, promotions, finance, support, notifications) | V1 | SHOULD | Team decision (17 Oct 2026) | RW |
RWA-02 | Same account, cart and orders as the mobile app (single backend, no web-only rules) | V1 | MUST | Team decision (17 Oct 2026) | RW · API |
RWA-01 — Responsive web version with V1 parity
Statement — The system shall offer resellers a responsive web app covering the V1 features of the reseller mobile app: account, guest browsing, catalog with advanced filters, cart, orders with live status, promotions, finance, support with after-sales claims and returns, regional WhatsApp, notifications.
Rules
-
Parity map:
Feature Mobile Web Sign-in, sign-up with OTP and customer type, account claim, password reset RA-02 to RA-08 RW-01 Guest browsing (prices hidden, no cart) RA-41 RW-02 to RW-04 Home, catalog with sidebar filters (category, sub-category, brand, attributes, price range when signed in, availability, promotion), product, favorites RA-09 to RA-16 RW-02 to RW-05 Cart and checkout RA-17 to RA-20 RW-06, RW-07 Orders, live tracking, assisted-order confirmation, documents RA-21 to RA-23 RW-08, RW-09 Promotions RA-24, RA-25 RW-10 Notifications RA-26 RW-11 Profile, store, addresses, settings RA-27, RA-28, RA-35 RW-12 Invoices, payments, declarations, credit RA-29 to RA-31 RW-13 Tickets, after-sales claims, returns, WhatsApp button RA-32 to RA-34, RA-40 RW-14 -
Not on the web in V1: barcode scanner, push notifications (the inbox and the live stream replace them), install referrer.
-
Layouts: desktop ≥ 1 280 px (sidebar filters, multi-column grids), tablet 768–1 279 px, phone widths reuse the mobile designs; last two versions of Chrome, Edge, Firefox and Safari 16+.
-
Stock is shown as availability only (En stock / En rupture), never as a quantity (AUTHORING §1b.1).
-
Order status changes refresh open pages live through
events.stream(browserEventSourcewith the session cookie). -
Pages are not indexed by search engines (
noindex) except the invitation landing; LCP ≤ 2,5 s on a 4G connection for home and catalog (NFR-01).
Acceptance criteria
- Every V1 acceptance scenario of the reseller side (acceptance scenarios) passes on the web at 1 366 × 768 and 390 × 844 during the acceptance campaign.
- A guest on the web sees products without prices and cannot add to cart; after sign-up, prices of the declared customer type appear.
- An order confirmed in the back-office changes to Validée on the open web order page within 5 seconds.
Data — same as the reseller app.
Interfaces — the reseller operations (catalog, cart, orders, finance, promotions, profile, support, notifications, invitations groups of the API reference).
RWA-02 — Same account, cart and orders as the mobile app
| Release | Priority | Source | Apps | Owner tasks |
|---|---|---|---|---|
| V1 | MUST | Team decision (17 Oct 2026) | RW · API | WEB-01 |
Statement — The web app shall use the same account, cart, orders and business rules as the mobile app, with no web-only rule or endpoint other than the invitation landing.
Rules
- One
Userand oneResellerwhatever the channel; the server-side cart is shared (ORD-01): an item added on the phone is in the web cart at the next load. - Orders record the channel
RESELLER_WEB; every order waits for back-office confirmation like any other (ORD-14); checkout uses the sameIdempotency-Keyrule. - Authentication: httpOnly, Secure session cookie scoped to
.hoco.dz(30 days sliding); cookie-authenticated mutations are protected against CSRF (SameSite=Lax and an Origin check); account statuses gate the web exactly as the app. - No business rule is implemented only in the web client: prices, availability, promotions, minimums and credit come from the API.
Acceptance criteria
- Adding a product on the mobile app then opening the web cart shows it with the same price; checking out on the web empties the cart on the phone.
- A
PENDING_VALIDATIONaccount cannot check out on the web (same refusal code as the app).
Data — User, Session, Cart, CartItem, Order.
Interfaces — same operations as the reseller app.
External integrations
Requirements INT-01 to INT-07: maps, Firebase Cloud Messaging, SMS gateway, transactional email, S3-compatible storage, ERP/accounting (V2) and the providers' costs and delays.
Non-functional requirements
Requirements NFR-01 to NFR-09 with measurable targets and verification methods: performance, availability, scalability, devices, responsive back-office, languages, accessibility, logging and maintainability.