EkBazaar diagrams

Open this file in a browser. The pictures render when you are online. The source under each heading is the diagram itself.

Architecture

Phone and browser talk to one Next.js app. The app holds the rules. SQLite holds the data on a volume so a restart does not wipe the desk.

flowchart LR
  phone[Phone home screen]
  web[Browser]
  app[EkBazaar app]
  rules[Access, quota, rent, reminders]
  db[(SQLite file)]
  files[Upload folder]
  admin[Super admin]
  phone --> app
  web --> app
  admin --> app
  app --> rules
  rules --> db
  app --> files
        

Flow

A person registers as a provider or someone looking. Providers list only in their category: ghar, kitchen appliances, cars, bikes, or a home-service visit. Buyers filter and inquire. Landlords still collect kiraya and watch renewals. The super admin can turn a category off or pack a white-label copy with limited categories.

flowchart TD
  start[Open the desk] --> choice{Account type}
  choice -->|Provider| list[Create a listing]
  list --> quota{Under free allowance?}
  quota -->|Yes| market[Home appears on the market]
  quota -->|No| wait[Admin raises the allowance]
  choice -->|Customer| filter[Filter and sort]
  filter --> inquiry[Save or inquire]
  market --> rent[Track rent and complaints]
  rent --> renew[Renewal reminder]
  choice -->|Super admin| control[People, access, settings]
  control --> pack[White-label package]
        

Sequence — inquiry

sequenceDiagram
  participant Customer
  participant Desk
  participant Provider
  Customer->>Desk: Filter homes
  Desk-->>Customer: Matching listings
  Customer->>Desk: Send inquiry
  Desk->>Provider: Inquiry on their desk
  Provider->>Desk: Mark contacted
        

Sequence — rent and renewal

sequenceDiagram
  participant Provider
  participant Desk
  participant Tenant
  Provider->>Desk: Add tenant and due day
  Tenant->>Desk: Raise complaint
  Desk->>Provider: Complaint open
  Desk->>Provider: Month past due day is overdue
  Desk->>Provider: Agreement inside 30 days
  Provider->>Desk: Mark rent paid
        

Sequence — admin and white-label

sequenceDiagram
  participant Admin
  participant Desk
  participant Copy
  Admin->>Desk: Set free listings to 8
  Admin->>Desk: Turn a permission off
  Admin->>Desk: Block or delete an account
  Admin->>Desk: Generate white-label
  Desk->>Copy: Zip with locked brand and module limits
  Copy->>Copy: docker compose up