SHOP EXPRESS ZM - Multi-vendor e-commerce marketplace for Zambia
# SHOP EXPRESS ZM
**Your trusted online marketplace for local and international products, powered by Inland Express Zambia's shipping expertise.**
A multi-vendor e-commerce platform for Zambia with local marketplace, international product sourcing ("Buy For Me"), delivery logistics, and payment integration.
## Tech Stack
- **Framework**: Next.js 16 (App Router) + TypeScript
- **Database**: PostgreSQL + Prisma ORM
- **Auth**: Auth.js v5 (email/password with role-based access)
- **UI**: Tailwind CSS + shadcn/ui
- **State**: Zustand (cart), Server Actions (mutations)
- **Validation**: Zod + React Hook Form
## Getting Started
### Prerequisites
- Node.js 18+
- PostgreSQL database
- npm or pnpm
### 1. Clone & Install
```bash
git clone
cd shopexpresszm
npm install
```
### 2. Environment Setup
```bash
cp .env.example .env
```
Edit `.env` with your database URL and secrets:
```env
DATABASE_URL="postgresql://user:password@localhost:5432/shopexpresszm"
AUTH_SECRET="generate-with-openssl-rand-base64-32"
```
### 3. Database Setup
```bash
# Generate Prisma client
npm run db:generate
# Push schema to database
npm run db:push
# Seed with demo data
npm run db:seed
```
### 4. Run Development Server
```bash
npm run dev
```
Open
localhost.
## Demo Accounts
| Role | Email | Password |
|------|-------|----------|
| Admin | admin@shopexpresszm.com | Password123 |
| Customer | mwansa@example.com | Password123 |
| Customer | grace@example.com | Password123 |
| Vendor | david@techzone.zm | Password123 |
| Vendor | chileshe@zedfashion.zm | Password123 |
| Vendor | bwalya@homestyle.zm | Password123 |
## Project Structure
```
src/
├── app/
│ ├── (public)/ # Public pages (home, shop, about, etc.)
│ ├── (customer)/ # Customer dashboard
│ ├── (vendor)/ # Vendor portal
│ ├── (admin)/ # Admin dashboard
│ ├── auth/ # Sign in / Sign up
│ └── api/ # API routes
├── actions/ # Serve …