Wocart
Wocart runs the whole cash-on-delivery business for Algerian stores: an Arabic-first checkout, phone verification, Yalidine, ZR Express, NOEST, Guepex and 82 EcoTrack couriers, your own drivers, and M
翻訳待ち
リポジトリ情報はまだ収集していません。
No updates detected yet. GitHub releases will appear here.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗A complete, scalable grocery delivery system optimized for Pakistan's local market. Built with modern technologies and designed for easy expansion across multiple cities.
This platform integrates:
/mnt/okcomputer/output/
├── database/
│ └── schema.sql # Complete PostgreSQL schema
├── backend/
│ ├── src/ # Node.js/Express API
│ ├── package.json
│ └── .env.example
├── admin-panel/
│ ├── src/ # React admin dashboard
│ ├── package.json
│ └── README.md
├── website/
│ ├── app/ # Next.js 14 website
│ ├── package.json
│ └── README.md
├── customer-app/
│ ├── src/ # React Native customer app
│ ├── package.json
│ └── README.md
├── rider-app/
│ ├── src/ # React Native rider app
│ ├── package.json
│ └── README.md
└── README.md # This file
| Component | Technology |
|---|---|
| Database | PostgreSQL 15+ with PostGIS |
| Backend | Node.js, Express, TypeScript |
| Admin Panel | React 18, Vite, Tailwind CSS |
| Website | Next.js 14, TypeScript, Tailwind CSS |
| Customer App | React Native, Expo SDK 50 |
| Rider App | React Native, Expo SDK 50 |
# Create database
createdb freshbazar_db
# Run schema
psql freshbazar_db < database/schema.sql
cd backend
cp .env.example .env
# Edit .env with your database credentials
npm install
npm run dev
Backend will run on http://localhost:3000
cd admin-panel
npm install
npm run dev
Admin panel will run on http://localhost:5173
Demo credentials: [email protected] / admin123
cd website
npm install
npm run dev
Website will run on http://localhost:3001
cd customer-app
npm install
npx expo start
Scan QR code with Expo Go app
cd rider-app
npm install
npx expo start
Scan QR code with Expo Go app
Edit delivery_charges_config table:
| Rule | Condition | Charge |
|---|---|---|
| Morning Free | Order before 10AM for 10AM-2PM slot | FREE |
| Category Free | Veg/Fruit/Dry Fruit above Rs. 500 | FREE |
| Chicken Only | Only chicken in cart | Rs. 100 |
| Default | Standard delivery | Rs. 50 |
Configure in time_slots table:
PORT=3000
DB_HOST=localhost
DB_PORT=5432
DB_NAME=freshbazar_db
DB_USER=postgres
DB_PASSWORD=your_password
JWT_SECRET=your_jwt_secret
JWT_EXPIRES_IN=7d
users - Customer accountsriders - Delivery personneladmins - Admin usersproducts - Product catalogcategories - Product categories (Urdu + English)orders - Order lifecycleorder_items - Order line itemsaddresses - Customer addresses with GPS & door picturesdelivery_charges_config - Configurable delivery rulesatta_requests - Atta Chakki servicerider_tasks - Pickup/delivery taskscall_requests - Privacy-protected calling-- Automatically calculates delivery charge based on:
-- 1. Time slot (10AM-2PM free if ordered before 10AM)
-- 2. Cart contents (veg/fruit/dry fruit minimum)
-- 3. Category-based rules
SELECT calculate_delivery_charge(cart_id, time_slot);
cd backend
npm run build
npm start
Use PM2 for process management:
npm install -g pm2
pm2 start dist/app.js --name freshbazar-api
Customer App:
cd customer-app
expo build:android
expo build:ios
Rider App:
cd rider-app
expo build:android
expo build:ios
cd website
vercel --prod
cd admin-panel
npm run build
# Deploy dist/ folder to any static host
delivery_zones tableDatabase connection failed:
Port already in use:
kill $(lsof -t -i:3000)Expo app not loading:
npx expo start --tunnelFull API documentation available in:
/backend/README.mdFor issues or questions:
This project is proprietary software for Fresh Bazar.
Built with love for Pakistan's local market by Fresh Bazar