A peer-to-peer skill exchange platform with WebRTC video calling
# SkillSwap Africa
**A peer-to-peer skill exchange platform empowering communities through affordable skill-sharing.**
skillswapafrica.onrender.com
click here for a live demo [wait for some minutes for it to boot up]
---
## Overview
SkillSwap Africa is a production-ready web application that enables users to exchange skills without monetary transactions. Using an in-app credit system, users teach skills they excel at and learn skills they want to master—creating a sustainable, community-driven learning ecosystem.
The platform combines browser-based virtual learning (WebRTC with video and screen sharing) with physical meetups in pre-approved locations, ensuring trust and accessibility across devices.
## Core Features
- **User Authentication**: Secure email-based registration with verification
- **Skill Management**: List skills you teach and skills you want to learn
- **Smart Matching**: Intelligent algorithm matches users based on mutual skills
- **Virtual Sessions**: Real-time peer-to-peer video calls with screen sharing (WebRTC)
- **Physical Sessions**: Safe meetup locations with QR code verification
- **Credit System**: +1 credit for teaching, -1 for learning; real-time balance tracking
- **Reviews & Reputation**: Build trust through ratings and user verification
- **Responsive Design**: Works seamlessly on desktop, tablet, and mobile devices
## Technology Stack
| Layer | Technology | Purpose |
|-------|-----------|---------|
| Frontend | React 18 + Vite | Modern, fast UI development |
| Styling | Tailwind CSS | Utility-first responsive design |
| State Management | Zustand | Lightweight state management |
| Real-time Communication | WebRTC | Peer-to-peer video calls |
| Backend Database | Firebase Firestore | Serverless real-time database |
| Authentication | Firebase Auth | Secure user authentication |
| Deployment | Netlify/Vercel | Frontend hosting |
## Getting Started
### Prerequisites
- Node.js v16+ and npm v7+
- Modern web browser (Chro …