ZedFlip - Zambia's #1 Second-Hand Marketplace. Buy and sell in Lusaka, Kitwe, Ndola and across Zambia.
# ZedFlip - Zambia's Second-Hand Marketplace
A modern, full-stack marketplace application for buying and selling second-hand items in Zambia.
## π Features
- **User Authentication** - Register/Login with email and Zambian phone number (+260)
- **Listings Management** - Create, edit, and manage product listings
- **Real-time Chat** - Socket.io powered messaging between buyers and sellers
- **Image Upload** - Cloudinary integration for image storage
- **Search & Filters** - Filter by category, city, price, condition
- **Admin Panel** - Manage users, listings, categories, and reports
- **PWA Support** - Installable progressive web app
- **Zambia-Specific** - ZMW currency, Zambian cities, +260 phone format
## π¨ Design System
| Color | Hex | Usage |
|-------|-----|-------|
| Primary (Orange) | `#E85D04` | CTAs, highlights |
| Secondary (Green) | `#2D6A4F` | Success, secondary actions |
| Accent (Red) | `#D00000` | Alerts, errors |
| Background | `#F8F9FA` | Page background |
| Surface | `#FFFFFF` | Cards, modals |
## π οΈ Tech Stack
### Backend
- Node.js + Express
- TypeScript
- MongoDB + Mongoose
- Socket.io
- JWT Authentication
- Cloudinary
### Frontend
- React 18
- TypeScript
- Vite
- TailwindCSS
- Zustand (State Management)
- React Query
- Socket.io Client
## π Project Structure
```
zedflip/
βββ backend/
β βββ src/
β β βββ config/ # Database, Cloudinary, Socket config
β β βββ controllers/ # Route handlers
β β βββ middleware/ # Auth, admin, error handling
β β βββ models/ # Mongoose schemas
β β βββ routes/ # API routes
β β βββ utils/ # JWT, SMS, Logger
β β βββ server.ts # Entry point
β βββ package.json
β βββ tsconfig.json
β
βββ frontend/
β βββ src/
β β βββ components/ # Reusable UI components
β β βββ pages/ # Route pages
β β βββ hooks/ # Custom React hooks
β β βββ store/ # Zustand stores
β β βββ lib/ # API client, uti β¦