A complete, future-proof Multi-Vendor E-Commerce platform for Groceries, Food, Pharmacies, and Retail stores.
Built with cutting-edge technologies:
- Framework: Next.js 16.2 (App Router, Turbopack)
- Monorepo: Turborepo & Bun
- Database & Auth: Supabase (PostgreSQL, Row Level Security)
- Styling: Tailwind CSS v4 & Shadcn UI
This project follows a strict monorepo architecture using Turborepo workspaces to ensure clean separation of concerns, scalability, and code reusability.
hyperlocal/
├── apps/
│ ├── admin/ # Platform Administration Dashboard
│ │ ├── src/app/ # Next.js app router (Overview, Users, Stores, Settings)
│ │ └── package.json
│ │
│ ├── seller/ # Vendor/Seller Dashboard
│ │ ├── src/app/ # Next.js app router (Products, Orders, Store Profile)
│ │ └── package.json
│ │
│ └── web/ # Customer-Facing Storefront
│ ├── src/app/ # Next.js app router (Landing, Categories, Cart, Checkout)
│ └── package.json
│
├── packages/
│ ├── config/ # Shared configuration (TypeScript, ESLint)
│ │
│ ├── supabase/ # Database, Auth, and API definitions
│ │ ├── schema.sql # PostgreSQL schemas & Row Level Security (RLS) policies
│ │ ├── types.ts # Generated TypeScript DB definitions
│ │ ├── server.ts # Supabase SSR server client
│ │ ├── middleware.ts # Supabase SSR middleware client
│ │ └── index.ts # Supabase SSR browser client
│ │
│ └── ui/ # Shared UI Component Library (Shadcn UI)
│ ├── components/ui/ # Reusable React components (Buttons, Cards, Carousels, etc.)
│ ├── lib/ # Shared UI utilities (cn, tailwind-merge)
│ └── package.json
│
├── package.json # Root workspace config (Bun as package manager)
├── turbo.json # Turborepo task pipelines
└── README.md # Project documentation
- Node.js 18+
- Bun (Package Manager)
-
Install all dependencies across the monorepo:
bun install
-
Start the development servers for all applications simultaneously:
bun run dev
- Customer Storefront (
apps/web):http://localhost:3002 - Vendor Portal (
apps/seller):http://localhost:3000 - Admin Portal (
apps/admin):http://localhost:3001(Ports may vary if already in use)
The platform relies on a strictly typed Supabase PostgreSQL database with comprehensive Row Level Security (RLS) to enforce tenant isolation.
profiles: Stores user data tied to Supabase Auth.stores: Vendor details. Sellers can only manage their own stores.products: Items linked to stores.orders&order_items: Transactions. Customers see their receipts; Sellers see orders placed at their store.
For full database definitions, refer to packages/supabase/schema.sql.