Functional specification, work breakdown, and cost estimate for the Yallabae mobile app, covering Customer, Seller, and Admin in full.
Every module below reflects the live platform. Items marked confirmed are live and working today; gap marks scope that isn't on the live platform yet, deferred rather than assumed; unverified marks scope inferred from platform copy rather than a live screen.
/account/wishlist)/seller/register wizard with its own loginReviewed directly in a live admin session (real production data — 157 sellers, 219 users, 1,570 products). Grouped here by function, matching the admin's own navigation.
Three functional tracks — Customer, Seller, and Admin — costed independently of app-count. These ship as two apps: Customer standalone, and Seller + Admin combined behind role-based access (see the app structure note). The day estimates below hold either way, since they're driven by feature complexity, not by how the features are packaged.
| Code | Phase | Covers | Depends on | Days |
|---|---|---|---|---|
| Track A — Customer App | ||||
| A1 | Foundation & Auth | RN project setup, navigation shell, design system, Lovable/Supabase auth integration, email verification flow, password policy handling | — | 5 |
| A2 | Catalog & Navigation | 19-category mega-menu as native nav, subcategory browsing, price/rating/brand filters, 5-way sort, search. Includes RTL-aware layout groundwork (logical direction, not hardcoded left/right) | A1 | 8 |
| A3 | Product Detail | Gallery, seller attribution card, stock/urgency states, review display (read-only), generic variant selector (size/color/etc., tappable options with price/stock updates, carried through cart and checkout). Includes RTL-aware layout groundwork | A2 | 6 |
| A4 | Wishlist | Anonymous local toggle + authenticated persisted list, sync on login | A1, A3 | 2 |
| A5 | Cart & Multi-Vendor Pricing | Cart drawer + page, VAT calc, free-shipping threshold logic, per-vendor shipping line items | A3 | 5 |
| A6 | Checkout | Shipping address (typed, emirate/city cascade), Tap Payments SDK integration (Card/Apple Pay/Google Pay), Cash on Delivery path, coupon validation, order review | A5 | 9 |
| A7 | Account Area | Profile/addresses, Order History (status-tabbed), Returns list + request flow, purchase-gated review submission | A1, A6 | 5 |
| A8 | Notifications | Push setup (iOS + Android), in-app alerts (order status, deals) | A6 | 4 |
| A9 | Messaging (Customer side) | Conversation list, thread view, send/receive via Supabase Realtime (matching the platform's existing product-enquiry messaging), read/unread state | A1, A3 | 4 |
| A10 | QA & Store Submission | Cross-platform QA, store listing assets, review-cycle buffer (both stores) | A1–A9 | 6 |
| Track A subtotal | 54 | |||
| Track B — Seller Functionality | ||||
| B1 | Foundation & Auth | App shell/navigation, seller auth, role-based permission layer shared with Admin (Seller and Admin ship as one combined app) | — | 3 |
| B2 | Onboarding & KYC | 4-step registration wizard, document upload (Trade License / Emirates ID), Seller Agreement acceptance, warehouse/pickup address, pending-approval state | B1 | 7 |
| B3 | Product Management | Physical/Digital product types, brand & category selection, mandatory shipping dimensions, image upload with resize/format pipeline, specifications, trust badges, product variants (size/color with independent stock/price), order management. Bulk upload stays web-only | B2 | 11 |
| B4 | Seller Analytics | Dashboard KPIs, sales trend, orders-by-status, top products, commission breakdown | B3 | 4 |
| B5 | Payouts | Earned/Pending/Frozen states, bank/IBAN details, payout history, bi-weekly cadence | B3 | 3 |
| B6 | Inventory | Dedicated stock-management view, separate from the product edit form | B3 | 3 |
| B7 | Seller Coupons | Coupon builder, redemption tracking, usage report — separate from platform-wide coupon codes | B3 | 4 |
| B8 | Seller Flash Deals | Seller-created flash deals, separate from platform-curated ones | B3 | 3 |
| B9 | Messaging (Seller side) | Seller-context thread view, reusing the Customer-side messaging components, matching the platform's existing product-enquiry messaging | A9, B1 | 2 |
| B10 | QA & Store Submission | QA, store listing (or internal distribution decision), review-cycle buffer | B1–B9 | 5 |
| Track B subtotal | 45 | |||
| Track C — Admin Panel | ||||
| C1 | Foundation & Auth | Admin login, role-based access, navigation shell | — | 3 |
| C2 | Dashboard & Analytics | 8 KPI tiles, date-range/compare filters, revenue/commission/VAT charts, delivery-method-requests panel | C1 | 5 |
| C3 | Sellers Management | List + filters, full seller detail (owner/store/warehouse/bank/KYC/agreement), inline pending-change approve/reject, block/delete | C1 | 7 |
| C4 | Document Reviews | KYC/detail-change queue, approve/reject flow | C3 | 2 |
| C5 | Users Management | All-role user list, filters, detail view, delete | C1 | 3 |
| C6 | Products (moderation + platform-created) | List, full detail with status/flag history, edit form matching seller-side complexity, admin product creation, Promotional Badges | C1 | 8 |
| C7 | Brands | Approval queue, homepage-visibility flag, sort order | C1 | 2 |
| C8 | Attributes | Attribute types and allowed values | C1 | 1 |
| C9 | Categories & Commissions | Nested hierarchy, per-category commission rate, refundable/home-visibility toggles, ordering | C1 | 3 |
| C10 | Flash Deals (platform) | Approval queue, homepage-slot limit | C1 | 2 |
| C11 | Coupons (platform) | KPIs, approval queue, Usage Report | C1 | 2 |
| C12 | Homepage — Banners | 8 placement types, each with own dimensions/ordering/active toggle | C1 | 4 |
| C13 | Homepage — Featured Collections | Banner+products+link sections, reorderable, up to 15 | C1 | 2 |
| C14 | Homepage — Collections | Curated cards (image/title/subtitle/link) | C1 | 1 |
| C15 | Homepage — Reasons to Shop | Homepage trust-signal content section | C1 | 1 |
| C16 | Orders (all-seller) | List + filters, sync shipment statuses, clean-up abandoned, export | C1 | 3 |
| C17 | Returns & Reviews | Returns queue with fault-tracking, review moderation queue | C1 | 3 |
| C18 | Payouts | Order Reconciliation health-check, Pending/Paid/Frozen summaries, payout-period creation, 13-column per-seller calculation, export | C1 | 6 |
| C19 | Site Settings | Announcement banner, shipping thresholds/fees, Cash on Delivery fee | C1 | 2 |
| C20 | Policies (CMS) | 9 legal pages, editable + create-new | C1 | 1 |
| C21 | Sell With Us Page (CMS) | 10-section landing-page content editor | C1 | 3 |
| C22 | QA & Store Submission | Admin-side QA, review-cycle buffer | C1–C21 | 4 |
| Track C subtotal | 68 | |||
| Total — Customer + Seller + Admin | ||||
| A + B + C combined | 167 | |||
| Open — not costed | ||||
| X1 | Arabic / RTL Localization | Not present on live site; deferred until the web platform has it live (see CUST-07) | — | — |
Day rate: PKR 6,000/day, applied directly to the phases above. Covers Customer, Seller, and Admin in full. Every figure below is a day count times the rate — no hidden margin, checkable line by line against the spec.
| Code | Phase | Days | Cost (PKR) |
|---|---|---|---|
| Track A — Customer | |||
| A1 | Foundation & Auth | 5 | 30,000 |
| A2 | Catalog & Navigation | 8 | 48,000 |
| A3 | Product Detail | 6 | 36,000 |
| A4 | Wishlist | 2 | 12,000 |
| A5 | Cart & Multi-Vendor Pricing | 5 | 30,000 |
| A6 | Checkout | 9 | 54,000 |
| A7 | Account Area | 5 | 30,000 |
| A8 | Notifications | 4 | 24,000 |
| A9 | Messaging (Customer side) | 4 | 24,000 |
| A10 | QA & Store Submission | 6 | 36,000 |
| Track A subtotal | 54 | 324,000 | |
| Track B — Seller | |||
| B1 | Foundation & Auth | 3 | 18,000 |
| B2 | Onboarding & KYC | 7 | 42,000 |
| B3 | Product Management | 11 | 66,000 |
| B4 | Seller Analytics | 4 | 24,000 |
| B5 | Payouts | 3 | 18,000 |
| B6 | Inventory | 3 | 18,000 |
| B7 | Seller Coupons | 4 | 24,000 |
| B8 | Seller Flash Deals | 3 | 18,000 |
| B9 | Messaging (Seller side) | 2 | 12,000 |
| B10 | QA & Store Submission | 5 | 30,000 |
| Track B subtotal | 45 | 270,000 | |
| Track C — Admin | |||
| C1 | Foundation & Auth | 3 | 18,000 |
| C2 | Dashboard & Analytics | 5 | 30,000 |
| C3 | Sellers Management | 7 | 42,000 |
| C4 | Document Reviews | 2 | 12,000 |
| C5 | Users Management | 3 | 18,000 |
| C6 | Products (moderation + platform-created) | 8 | 48,000 |
| C7 | Brands | 2 | 12,000 |
| C8 | Attributes | 1 | 6,000 |
| C9 | Categories & Commissions | 3 | 18,000 |
| C10 | Flash Deals (platform) | 2 | 12,000 |
| C11 | Coupons (platform) | 2 | 12,000 |
| C12 | Homepage — Banners | 4 | 24,000 |
| C13 | Homepage — Featured Collections | 2 | 12,000 |
| C14 | Homepage — Collections | 1 | 6,000 |
| C15 | Homepage — Reasons to Shop | 1 | 6,000 |
| C16 | Orders (all-seller) | 3 | 18,000 |
| C17 | Returns & Reviews | 3 | 18,000 |
| C18 | Payouts | 6 | 36,000 |
| C19 | Site Settings | 2 | 12,000 |
| C20 | Policies (CMS) | 1 | 6,000 |
| C21 | Sell With Us Page (CMS) | 3 | 18,000 |
| C22 | QA & Store Submission | 4 | 24,000 |
| Track C subtotal | 68 | 408,000 | |
| Total | |||
| Customer + Seller + Admin, 167 days @ PKR 6,000/day | 167 | 1,002,000 | |