Skip to content

Repository files navigation

WeeklyMandi - Project Setup Guide

Overview

WeeklyMandi is a hyperlocal B2B grocery wholesale marketplace built with Flutter and Supabase.

Project Structure

WeeklyMandi/
├── SPEC.md                    # Technical specification
├── supabase_schema/
│   └── schema.sql            # Database schema (run in Supabase)
├── weekly_mandi_buyer/       # Buyer App (Flutter)
├── weekly_mandi_distributor/ # Distributor App (Flutter)
└── weekly_mandi_admin/       # Admin Dashboard (Flutter Web)

Quick Start

Step 1: Set Up Supabase

  1. Go to supabase.com and create a free account
  2. Create a new project
  3. Copy the project URL and anon key
  4. Run the SQL from supabase_schema/schema.sql in the Supabase SQL Editor

Step 2: Configure Flutter Apps

  1. Install Flutter SDK (version 3.x)
  2. Open each app directory and update lib/core/constants/supabase_config.dart with your Supabase credentials:
class SupabaseConfig {
  static const String url = 'YOUR_SUPABASE_URL';
  static const String anonKey = 'YOUR_SUPABASE_ANON_KEY';
}

Step 3: Run the Apps

# Buyer App
cd weekly_mandi_buyer
flutter pub get
flutter run

# Distributor App
cd weekly_mandi_distributor
flutter pub get
flutter run

# Admin Dashboard (Web)
cd weekly_mandi_admin
flutter pub get
flutter run -d chrome

Features Implemented

Buyer App

  • Phone OTP Authentication
  • Pincode-based discovery
  • Product catalog with categories
  • Search functionality
  • Shopping cart
  • Checkout with COD/UPI/Bank Transfer
  • Order tracking
  • Order history

Distributor App

  • Phone OTP Authentication
  • Dashboard with earnings overview
  • Order management (status updates)
  • Product management (add/edit/inventory)
  • Earnings tracking

Admin Dashboard

  • Dashboard with GMV overview
  • Distributor verification
  • Order management
  • User management

Pilot Setup (Hyderabad)

The project is configured for Hyderabad pilot with pincodes:

  • 500016 (Balanagar)
  • 500072 (KPHB Phase 6)
  • 500018 (Kukatpally)
  • 500085 (Moosapet)

Default delivery day: Saturday

Database Schema

Key tables:

  • users - Buyer profiles
  • distributors - Seller profiles with verification
  • products - Product catalog
  • orders - Order records
  • order_items - Individual order items
  • pincodes - Serviceable pincodes
  • categories - Product categories

Next Steps

  1. Add test data (sample products, distributors)
  2. Set up Firebase for push notifications
  3. Add multi-language support (Telugu, Hindi)
  4. Build and test on real devices
  5. Launch in pilot pincodes

Tech Stack

  • Frontend: Flutter 3.x
  • Backend: Supabase (PostgreSQL + Auth + Storage)
  • State Management: Riverpod
  • Architecture: Clean Architecture

License

Internal Use Only - Confidential

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages