An e-commerce for Zimbabwe
# Dollar Shop Zimbabwe
Full-stack e-commerce platform for Dollar Shop Zimbabwe — everyday essentials, groceries, household goods, and personal care products with EcoCash and InnBucks mobile money payments.
**Stack:** Next.js 16 · Prisma 7 · PostgreSQL · Redis · Tailwind CSS v4 · NextAuth v5
---
## Prerequisites
- Node.js 22+
- Docker & Docker Compose
- `npm` (or compatible package manager)
---
## Local Development Setup
### 1. Clone and install dependencies
```bash
git clone
cd dollar-shop
npm install
```
### 2. Configure environment variables
```bash
cp .env.example .env.local
```
Edit `.env.local` and fill in the required values. For local development the defaults work for the database and Redis if you use Docker Compose.
| Variable | Description |
|---|---|
| `DATABASE_URL` | PostgreSQL connection string |
| `REDIS_URL` | Redis connection string |
| `AUTH_SECRET` | Random 32+ character secret for NextAuth |
| `NEXTAUTH_URL` | Base URL (e.g. `
localhost`) |
| `ECOCASH_*` | EcoCash merchant credentials |
| `INNBUCKS_*` | InnBucks merchant credentials |
| `SENTRY_DSN` | Sentry DSN for error monitoring |
| `PAYMENT_MODE` | `sandbox` (no real payments) or `live` |
### 3. Start database and Redis with Docker
```bash
docker compose up db redis -d
```
This starts:
- PostgreSQL 16 on port `5432`
- Redis 7 on port `6379`
### 4. Generate Prisma client
```bash
npx prisma generate
```
### 5. Run database migrations
```bash
npm run db:migrate
```
### 6. Seed the database
```bash
npm run db:seed
```
This creates:
- 8 product categories (Household, Groceries, Personal Care, Baby & Kids, etc.)
- 30 sample products with realistic prices
- Admin user: `admin@dollarshop.co.zw` / `admin123!`
### 7. Start the development server
```bash
npm run dev
```
Open
localhost.
Admin panel:
localhost
---
## Available Scripts
| Script | Description |
|---|---|
| `npm run dev` | Start development server with hot reload |
| `npm …