Skills marketplace connecting freelancers with opportunities in Uganda
# 🇺🇬 SkillSwap Uganda
> A mobile-first skill exchange and local jobs marketplace for Uganda.
> Exchange skills freely. Find local work. Build community. No payments involved.
---
## ✨ Features
| Feature | Details |
|---|---|
| 🔐 Auth | Phone OTP + Email/Password via Firebase Auth |
| 📋 Jobs | Post & browse local jobs with urgency levels |
| 🛠️ Services | Offer skills to your community |
| 🔄 Skill Exchange | Swap skills peer-to-peer, no money needed |
| 💬 Chat | Real-time Firestore-powered messaging |
| 🗺️ Location | GPS + Uganda district selector (24 districts) |
| ⭐ Ratings | Verified exchange ratings and reviews |
| 🔔 Notifications | In-app notification center |
| 📡 Low Data Mode | Saves data on slow connections |
| 🛡️ Admin Panel | User management, moderation, announcements |
| 🔍 Find Me Work | AI-matched jobs based on your skills |
| 📱 Mobile-first | Optimised for 375px screens with bottom nav |
| 🔌 Offline | Firestore offline persistence enabled |
---
## 🚀 Quick Start
### Prerequisites
- Node.js 18+ and npm
- A Firebase project (free Spark plan works)
- Git
### 1. Clone and Install
```bash
git clone skillswap-uganda
cd skillswap-uganda
npm install
```
### 2. Create Firebase Project
1. Go to
console.firebase.google.com
2. Click **Add Project** → name it `skillswap-uganda`
3. Disable Google Analytics (optional)
4. Click **Create Project**
### 3. Enable Firebase Services
#### Authentication
1. Go to **Build → Authentication → Get started**
2. Enable **Email/Password** provider
3. Enable **Phone** provider
4. Under **Phone → Test phone numbers**, add:
- Phone: `+16505553434` → Code: `123456` (for development testing)
#### Firestore Database
1. Go to **Build → Firestore Database → Create database**
2. Choose **Start in test mode** (we'll add real rules later)
3. Select region: `europe-west1` or closest to Uganda
4. Click **Enable**
#### Storage
1. Go to **Build → Storage → Get started**
2. Start in test mode
3. Use same region as Firestore …