# African MSDI — Federated Marine Spatial Data Infrastructure
> A working prototype demonstrating continental-scale hydrographic data federation across Africa.
> Built for the NHA / 2026 World Hydrography Day Young Ocean Scholars Competition.
**Live demo:**
your-app.vercel.app
---
## What this demonstrates
One complete user journey that proves the paper's argument:
1. **Three national nodes** (Nigeria/NHA, Kenya/KMA, South Africa/SANHO) visible on one Leaflet map
2. **S-100 API responses** — click any point → see mock IHO S-102 compliant JSON any ship nav system could consume
3. **CSB submission** — submit a depth reading as a fisherman, watch ML validation run, see result on map
4. **RBAC demo** — toggle Admin View to simulate authenticated NHO institutional access (data decimation)
5. **Architecture diagram** — SVG showing the federated node topology for the visual presentation
---
## Setup (≈ 15 minutes)
### 1. Clone and install
```bash
git clone
github.com
cd african-msdi
npm install
```
### 2. Create a Neon database
1. Go to **
neon.tech** and sign up (free tier is sufficient)
2. Click **"New Project"**
3. Name it `african-msdi`, choose the closest region
4. Once created, go to **Connection Details**
5. Copy the **Connection string** (starts with `postgres://...`)
### 3. Configure environment
```bash
cp .env.example .env.local
```
Open `.env.local` and paste your Neon connection string:
```
DATABASE_URL=postgres://username:password@
ep-xxx.us-east-2.aws.neon.t…
```
### 4. Seed the database
This creates the tables and inserts 60 realistic depth points across 3 national nodes:
```bash
npm run seed
```
Expected output:
```
🌊 Initialising African MSDI database schema...
🗑️ Clearing existing dataset rows...
📍 Seeding 60 depth points across 3 national nodes...
✅ Seed complete:
🟢 Nigeria (NHA): 20 points
🔵 Kenya (KMA): 20 points
🔴 South Africa (SANHO): 20 po …