Roadmap & Database Design

πŸ“‹ Roadmap & Database Design

πŸ—ΊοΈ Phase 1: Planning & Setup (Estimated: 2–3 days)

  • Define MVP (Multi-Restaurant, Menu, Cart, Checkout, Delivery, Wallet, Scratch Cards)
  • Tech Stack: Django (backend), Flutter (frontend), Firebase (real-time), Razorpay (payment), Google Maps API

πŸ› οΈ Phase 2: Backend Setup (Django) (Estimated: 7–10 days)

  • Set up Django project and REST framework
  • Design APIs for:
    • Restaurant onboarding
    • Menu management
    • Customer registration and login
    • Cart & order creation
    • Delivery & order status updates (via Firebase)
    • Wallet and Scratch Cards

πŸ“Š Database Schema (Estimated: 2–3 days)

1. Users

ColumnTypeDescription
idINT (PK)User ID
nameVARCHARFull Name
emailVARCHARUnique Email
passwordVARCHARHashed password
roleENUM (customer, owner, admin)User type

2. Restaurants

ColumnTypeDescription
idINT (PK)Restaurant ID
owner_idINT (FK)Owner
nameVARCHARName
addressTEXTAddress
latitudeFLOATLatitude
longitudeFLOATLongitude

3. MenuItems

ColumnTypeDescription
idINT (PK)Item ID
restaurant_idINT (FK)Restaurant
nameVARCHARName
priceDECIMALPrice
is_availableBOOLEANAvailability

4. Orders

ColumnTypeDescription
idINT (PK)Order ID
user_idINT (FK)Customer
restaurant_idINT (FK)Restaurant
total_amountDECIMALTotal
statusENUMStatus
timestampTIMESTAMPTime

5. OrderItems

ColumnTypeDescription
idINT (PK)ID
order_idINT (FK)Order
menu_item_idINT (FK)Item
quantityINTQuantity

6. Wallet

ColumnTypeDescription
user_idINT (PK)User
pointsINTBalance (1 β‚Ή = 100 points)
last_updatedTIMESTAMPLast Update

7. ScratchCards

ColumnTypeDescription
idINT (PK)Scratch card ID
user_idINT (FK)User
order_idINT (FK)Order
points_awardedINTRewarded points
statusENUM (unused, revealed)Card state
created_atTIMESTAMPCreated

8. Payments

ColumnTypeDescription
idINTPayment ID
order_idINT (FK)Order
statusENUMStatus
methodVARCHARMethod
timestampTIMESTAMPTime

πŸ“± Phase 3: Frontend (Flutter) (Estimated: 10–15 days)

  • Customer App:
    • Restaurant browsing
    • Cart, checkout
    • Wallet & scratch card view
  • Restaurant Dashboard
  • Admin Panel

πŸ”₯ Phase 4: Real-Time & Payments (Estimated: 3–5 days)

  • Firebase for live order updates
  • Razorpay for payment

πŸš€ Phase 5: Launch (Estimated: 1–2 days)

  • Deploy backend and Flutter apps
  • Promote and track metrics