- 3876 Mayekiso Str
- Duduza, Gauteng
- 1496
- SOUTH AFRICA
- +27767969821
Developer brief
Developer Brief — Mfoodie2Go (Basic Website with Inventory Management, Supplier Portal & Ad Space)1) Project Summary:Goal: Build a responsive web platform for Mfoodie2Go that enables consumers to scan and check products, manage inventory, receive expiry alerts, and engage with suppliers and advertisers. The platform will include ad space (R50/day — R750/day), a supplier portal, and MTN MoMo payment integration for easy transactions. Revenue Model: Freemium (limited access) + Subscription (R99/month) + Advertising + Supplier commission (5%). Primary Actors: Consumer (end-user) Supplier Advertiser / Marketing team Admin 2) Core Scope (MVP):Pages / Modules Public: Home, About, How It Works, Pricing, Contact, Login/Sign Up Consumer: Dashboard, Product Scanner (barcode/expiry entry), My Inventory, Alerts, Orders, Subscription Management Supplier Portal: Dashboard, Product Management (CRUD), Orders, Inventory & Expiry Tracking, Promotions, Analytics (sales & stock), Billing Advertiser: Ad Manager (create and pay for campaigns), Billing & Invoices Admin: User management, Supplier & Ad approval, Analytics, Ad scheduling, Reports, Content control Key Features Role-based user authentication (email/phone + OTP) Freemium tier: limited scans and ads supported Subscription (R99/month): unlimited scans, ad-free experience, extra features Product CRUD with expiry, batch, barcode, supplier, price, stock, and images Expiry and low-stock alerts (email + in-app) Supplier 5% commission on every completed sale (auto-calculated and logged) Export reports (CSV/PDF) Ad campaign manager with packages (R50/day, R250/day, R750/day) MTN MoMo integration for wallet payments (consumers, suppliers, and advertisers) PayFast or Ozow alternative payment methods Admin dashboard for analytics, reports, and ad/supplier approval Simple product scanner (manual or barcode entry; future upgrade to camera scan) Audit logs for all supplier/product edits 3) User Stories (Short)As a consumer, I can scan or manually enter products, add them to my inventory, and receive expiry alerts. As a consumer, I can subscribe via MTN MoMo or PayFast for R99/month. As a supplier, I can upload products, manage expiry and stock, and earn from sales (5% commission applied automatically). As a supplier, I can view analytics, export reports, and manage orders. As an advertiser, I can create and pay for ads, select placements, and monitor campaigns. As an admin, I can approve suppliers, manage ads, track commissions, and view analytics. 4) Data Model (Key Entities)User: id, name, email, phone, role, password_hash, created_at, last_login, subscription_status, momo_wallet_id Supplier Profile: user_id, business_name, KYC_doc_url, address, bank_details, status Product: id, supplier_id, name, barcode, batch_no, manufacture_date, expiry_date, unit_price, stock_qty, description, images\, category, created_at InventoryItem: id, user_id, product_id, qty, expiry_date, added_at Order: id, buyer_id, supplier_id, items\], total_amount, commission (5%), status, created_at Ad Campaign: id, advertiser_id, title, creative_url, placement, start_date, end_date, daily_rate, total_cost, status Notifications: id, user_id, type, message, read_flag, created_at Payment Transaction: id, user_id, amount, currency, type (subscription/ad/txn), provider_id (MTN MoMo/PayFast), status, created_at AuditLog: id, actor_id, action, entity_type, entity_id, timestamp 5) API Endpoints (Sample — REST):Auth POST /api/auth/register POST /api/auth/login POST /api/auth/otp GET /api/auth/me Products & Inventory GET /api/products POST /api/products PUT /api/products/:id DELETE /api/products/:id POST /api/inventory GET /api/inventory PUT /api/inventory/:id GET /api/inventory/export Orders POST /api/orders GET /api/orders/:id GET /api/supplier/orders Ads POST /api/ads GET /api/ads PUT /api/ads/:id POST /api/ads/:id/pay Payments (MTN MoMo + PayFast) POST /api/payments/momo/initiate POST /api/payments/momo/confirm POST /api/payments/payfast/initiate GET /api/payments/history Admin GET /api/admin/users PUT /api/admin/suppliers/:id/approve GET /api/admin/analytics 6) UI / Wireframe Notes:Homepage: Hero banner, “Join as Supplier / Consumer” buttons, ad banner top slot, pricing cards. Consumer Dashboard: Inventory list with expiry countdown, “Add Product” button, subscription status, and notification alerts. Supplier Dashboard: KPI bar (total sales, commission earned, stock alerts), product list, add/edit modal, analytics graph. Ad Manager: Step-by-step campaign creation with preview and payment options (MTN MoMo or PayFast). Admin Dashboard: Tabs for Users, Suppliers, Ads, Reports, and Finance Summary (commissions, revenue). Design hints: Mobile-first layout, accessible colors, minimal input steps, show expiry countdown clearly. 7) Payments & Monetization:Revenue Streams Source Description Notes Consumer Subscriptions R99/month via MTN MoMo / PayFast Freemium Tier Ad-supported, limited features Free users see banner ads Advertising R50–R750/day Packages for suppliers & brands Supplier Commission 5% per sale Auto-deducted via payment system Payment Gateways: MTN MoMo API Integration: handle wallet-to-wallet and merchant payments. PayFast / Ozow: alternative card and EFT payment methods. Automatic invoice & transaction logs for all payments. 8) Non-Functional RequirementsResponsive: Mobile + Desktop Performance: Load < 3 seconds Security: HTTPS, JWT auth, bcrypt passwords Compliance: POPIA-compliant, user data export/delete Scalability: Start monolithic; modular for future microservices Backup: Daily DB + transaction backups 9) Analytics & Reporting:Track active users, scans/day, supplier sales, ad revenue, and MTN MoMo transaction volumes. Exportable reports (CSV/PDF). Integrate Sentry (errors) + Google Analytics / Matomo (traffic). 10) DevOps & Deployment:Repo: GitHub CI/CD: GitHub Actions Hosting: Vercel (frontend), AWS/Heroku/DigitalOcean (backend), PostgreSQL DB Environments: Dev / Staging / Production CDN: Cloudflare or AWS S3 for static and ad images 11) Acceptance Criteria (MVP):Consumers can register, scan or add products, and receive expiry alerts. Suppliers can register, upload products, and see 5% commission applied to each sale. Ads can be purchased (R50–R750/day) and displayed correctly. Subscriptions (R99/month) work via MTN MoMo & PayFast. Admin can manage users, suppliers, ads, and reports. Inventory and sales reports export correctly. 12) Deliverables:Fully responsive website (staging + production) Source code repository (GitHub) API Documentation (Swagger/OpenAPI) Admin user manual Test report Onboarding session or video guide 13) Suggested Timeline Phase Duration Deliverable Phase 1 2–3 weeks Auth, Consumer Dashboard, Scanner Phase 2 2–3 weeks Supplier Portal + Commission logic Phase 3 1–2 weeks Ad Manager + MTN MoMo Integration Phase 4 1 week QA, Reports, Deployment 14) Tech Stack:Frontend: React / Next.js Backend: Node.js (Express) or Django REST Database: PostgreSQL Payments: MTN MoMo + PayFast APIs Hosting: Vercel / AWS / DigitalOcean |
Sign in to add your comment.



