ISP-agnostic broadband sharing platform in Nigeria. Hosts safely monetize excess fiber bandwidth with neighbors through QoS-protected access and public HubSpots.
# ShareLink NG
**ISP-agnostic broadband sharing economy platform for Nigeria.**
Fiber subscribers (Hosts) safely monetize excess bandwidth by sharing with neighbors through controlled, QoS-protected access. The platform also supports public HubSpots for time-based paid guest access.
## Features (MVP)
- **Authentication**: Phone number + OTP signup/login with JWT
- **Host Onboarding**: ISP selection + automatic MikroTik router provisioning (Queue Trees + PCQ QoS + Hotspot)
- **Payments**: Paystack integration (transaction initialization, webhook verification with signature validation)
- **Guest Access**: Unique short voucher codes, time-based sessions (hourly/daily), auto-expiry and activation
- **Earnings**: Real-time calculation from completed paid sessions (today / this month / lifetime) with automatic sync to Host balance
- **Payouts**: Hosts can request payouts (minimum ₦5,000) with pending balance tracking
## Tech Stack
- **Backend**: NestJS (TypeScript)
- **Database**: PostgreSQL via Supabase
- **Payments**: Paystack (API + Webhooks)
- **Router Management**: MikroTik RouterOS API (QoS + Hotspot)
- **Testing**: Jest (unit + integration/e2e)
## Project Structure
```
Sharelink/
├── backend/ # NestJS API
│ ├── src/
│ │ ├── modules/
│ │ │ ├── auth/ # Phone OTP + JWT
│ │ │ ├── hosts/ # Onboarding, earnings, payouts
│ │ │ ├── sessions/ # GuestSession + voucher system
│ │ │ ├── payments/ # Paystack integration
│ │ │ ├── routers/ # MikroTikService (QoS + Hotspot)
│ │ │ └── ...
│ │ └── prisma/ # Prisma client + service
│ └── prisma/ # Schema, migrations, seed
├── ShareLink_NG_Developer_Specification.md
└── README.md
```
## Getting Started (Backend)
```bash
cd backend
cp .env.example .env # Add your Supabase + Paystack + JWT secrets
npm install
npm run db:migrate # Apply schema to Supabase
npm run db:seed …