Full-stack C2C marketplace for South Africa's informal economy — escrow payments, SA ID verification, in-app messaging, and admin dispute resolution.
# SwapZA — C2C Marketplace Platform
> A consumer-to-consumer marketplace built for South Africa's informal economy. Designed to combat scams, reduce friction, and enable safe, structured trade between everyday buyers and sellers.
**Live Demo:** swapza.freehosting.dev
---
## The Problem
South Africa's informal economy is estimated at over R900 billion annually. Yet the people who operate within it face significant barriers when trading online:
- Facebook Marketplace scams are rampant, with no payment protection
- Buyers pay upfront with no guarantee of receiving goods
- No SA-specific platform designed for low-data environments
- Users must juggle multiple apps for messaging, payments, and listings
SwapZA was built to address these gaps directly.
---
## Solution
A full-stack C2C marketplace with built-in escrow payments, SA ID verification, in-app messaging, and an admin dispute resolution system — designed to make informal trade safer and more accessible.
---
## Screenshots
---
## Architecture
SwapZA follows a **modular monolithic, three-tier MVC architecture**:
```
┌─────────────────────────────────────┐
│ Frontend (Views) │
│ HTML · CSS · Bootstrap 5.3 · JS │
└────────────────┬────────────────────┘
│
┌────────────────▼────────────────────┐
│ Backend (Controllers) │
│ Plain PHP — MVC Pattern │
│ Auth · Listings · Orders · Escrow │
│ Messages · Reviews · Reports · Admin│
└────────────────┬────────────────────┘
│
┌────────────────▼────────────────────┐
│ Database (Models) │
│ MySQL · PDO · 13 Tables │
└─────────────────────────────────────┘
```
**Key architectural decisions:**
- **MVC with include-based views** — controllers handle all business logic; views are pure presentation with no inline logic
- **Shared components** — reusable PHP partials (`listing_card.php`, `order_card.php`, etc.) eliminate duplication across views
- **PDO with prepared statement …