Skip to content

Platform Overview

PharmaNet connects customers, pharmacies, and platform administrators through a unified ecosystem.

Business Domains

Domain Description
Customer Experience Browse products, find nearby pharmacies, place orders, track deliveries, chat with pharmacists
Pharmacy Operations Manage inventory, process orders, configure store profile, create promotions, track earnings
Platform Administration Manage users, approve pharmacies/products, configure CMS, review reports, handle payments

User Roles

Role Access Description
customer Mobile App Browse, order, review, chat, manage profile
seller Mobile App + Seller Web Manage pharmacy, products, orders, promotions
admin Admin Web Full system management, approvals, analytics

Data Flow

sequenceDiagram
    participant C as Customer (Mobile)
    participant P as Pharmacist (Mobile/Seller Web)
    participant A as Admin (Admin Web)
    participant S as Supabase
    participant CP as Chapa

    C->>S: Browse products, search, filter
    S-->>C: Product data
    C->>S: Add to cart, create order
    C->>CP: Pay via Chapa
    CP-->>C: Payment callback
    C->>S: Confirm payment
    S-->>P: Notify of new order
    P->>S: Update order status
    S-->>C: Real-time order update
    A->>S: Approve pharmacy/product
    S-->>P: Notification of approval

Cross-Cutting Concerns

  • Authentication: Supabase Auth with email/password, OTP, Google OAuth
  • Authorization: Row-Level Security (RLS) policies on all tables
  • Real-time: Supabase Realtime for live order updates, chat, notifications
  • Storage: Supabase Storage for product images, banners, pharmacy documents
  • Payments: Chapa payment gateway with hosted checkout
  • Push Notifications: Firebase Cloud Messaging (FCM) via mobile app
  • Localization: English and Amharic (Flutter app via flutter_localizations + intl)