MarineCatch Africa fisheries supply chain platform.
#markdown
# MarineCatch Africa — Backend Platform
Seafood supply chain and traceability infrastructure for Kenya and the Western Indian Ocean.
## What This Is
MarineCatch Africa is not a marketplace. It is multi-channel seafood infrastructure connecting:
- Small-scale fishers at landing sites (Kibuyuni, Shimoni, Vanga, Gazi, Kinondo)
- Aggregators and suppliers
- Hotels, restaurants, and wholesalers
- Processors and exporters (Sea Harvest, Alpha Seafood)
- Regulators and ESG stakeholders
## Business Modes
**Mode 1 — Marketplace**: Fisher lists catch, buyer orders, MarineCatch earns commission.
**Mode 2 — Direct Procurement**: MarineCatch buys fish outright and resells at margin.
**Mode 3 — Fulfillment Contracts**: Hotels and processors place recurring orders,
MarineCatch aggregates supply from multiple fishers.
## Tech Stack
- FastAPI + Python 3.11+
- PostgreSQL (local dev) → AWS RDS (production)
- SQLAlchemy + Alembic
- JWT authentication
- M-Pesa STK Push (Phase 2)
## Project Structure
backend/
├── app/
│ ├── api/v1/routes/ # HTTP endpoints
│ │ ├── users.py
│ │ ├── inventory.py
│ │ ├── orders.py
│ │ └── fish.py
│ ├── models/ # SQLAlchemy models
│ │ ├── user.py
│ │ ├── inventory_lot.py
│ │ ├── cold_storage.py
│ │ └── order.py
│ ├── services/ # Business logic
│ │ ├── user_service.py
│ │ ├── inventory_service.py
│ │ └── order_service.py
│ └── main.py
├── alembic/ # Database migrations
└── requirements.txt
## Running Locally
```bash
cd backend
python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt
alembic upgrade head
uvicorn app.main:app --host 0.0.0.0 --port 8080 --reload
```
API docs:
localhost
Health check:
localhost
## Database
PostgreSQL. All migrations managed with Alembic.
Run migrations: `alembic upgrade head`
Check history: `alembic history`
## Current Status — Phase 1 Complete (Day 20)
### Com …