Fraud-proof bursary and scholarship platform for Kenya — connects donors, schools and students. Built in Go.
# BursaryHub
**Version:** 1.0.0 | **Last Updated:** 2026-05-29
Free, fraud-proof scholarship disbursement platform for Kenya that connects donors, schools, and students on a single transparent system. Money moves only after all parties confirm the same amount through three-way verification.
## What It Does
- **Zero subscription fees** for schools and students
- **1% success fee** taken only when money is disbursed
- **Three-way verification** ensures student, school, and fee master amounts match
- **Auto-balance calculation** eliminates manual fee updates
- **SMS OTP approval** works on any phone, no smartphone required
## Tech Stack
| Layer | Technology | Version |
|-------|------------|---------|
| Language | Go | 1.21 |
| HTTP Router | Gorilla Mux | v1.8.1 |
| Database Driver | lib/pq | v1.10.9 |
| Auth | JWT (golang-jwt) | v5.0.0 |
| Database | PostgreSQL | 15+ (Alpine) |
| Blockchain | go-ethereum | v1.13.0 |
| Smart Contracts | Solidity | ^0.8.19 |
| Frontend | Tailwind CSS + Vanilla JS | CDN |
## Project Structure
```
bursaryhub/
├── backend/ # Go HTTP API server
│ ├── main.go # Entry point (port 8080)
│ ├── handlers/ # HTTP handlers for all endpoints
│ ├── middleware/ # JWT auth middleware
│ ├── repository/ # Database queries
│ └── services/ # Business logic (OTP, fees, blockchain)
├── db/ # Database migrations and seeds
│ ├── schema.sql # 12 tables with ENUMs and constraints
│ └── seeds.sql # 28 users, 5 schools, 20 students
├── frontend/ # Three dashboard clients
│ ├── index.html # Landing page
│ ├── grantor/ # Donor dashboard
│ ├── institution/ # School dashboard
│ └── beneficiary/ # Student portal
├── contracts/ # Solidity smart contracts
│ ├── BursaryEscrow.sol
│ └── VendorRegistry.sol
└── scripts/ # Test scripts
└── test-api.sh
```
## Prerequisites
- Go 1.21+
- Docker 27.3+ (rootless mode supported)
- Node.js 18+ (for sm …