Logo Lanfrica

USIU-AFRICA-and-Interledger-Foundation/freelancer-platform

Domaine:

digital infrastructure

Type de record:

software
Créateur:
USI
Hôte:
# Freelancer Payment Platform ## Multi-Currency to M-Pesa Payments via Interledger Protocol A complete payment platform that enables clients worldwide to pay Kenyan freelancers using any currency (USD, BTC, EUR, etc.) with automatic conversion and delivery to M-Pesa accounts, powered by Interledger Protocol and Rafiki. --- ## 🌟 Features - **Multi-Currency Support**: Accept payments in USD, EUR, GBP, BTC, ETH, and more - **Interledger Protocol Integration**: Efficient cross-ledger routing using ILP/Rafiki - **M-Pesa Integration**: Direct disbursement to Kenyan mobile money accounts - **Real-time Exchange Rates**: Automatic currency conversion at market rates - **Transparent Fees**: Clear fee structure with no hidden charges - **Secure Transactions**: Industry-standard encryption and authentication - **User-Friendly Interface**: Simple, intuitive dashboard for clients and freelancers - **Transaction History**: Complete audit trail of all payments - **Role-Based Access**: Separate interfaces for clients, freelancers, and admins --- ## 🏗️ Architecture ### Technology Stack **Backend:** - Node.js with Express - PostgreSQL database (Neon Serverless) - Rafiki for ILP integration - M-Pesa Daraja API - JWT authentication **Frontend:** - Next.js 14+ (App Router) - React - Tailwind CSS - Lucide React Icons - Axios **Infrastructure:** - Local Node.js Runtime (No Docker required) - Neon PostgreSQL --- ## 🚀 Quick Start ### Prerequisites - **Node.js 18+** installed locally - **Neon Account**: PostgreSQL connection string - **M-Pesa Daraja API credentials** (sandbox or production) ### Installation 1. **Clone the repository** ```bash git clone github.com cd freelancer-payment-platform ``` 2. **Backend Setup** ```bash cd backend npm install ``` 3. **Configure Backend Environment Variables** Create `backend/.env` with: ```env PORT=3001 NODE_ENV=development DATABASE_URL=postgresql://user:password@neon-hostname/neond …