Logo Lanfrica

MicoFaith/AHO

Domaine:

digital infrastructuregeospatial

Type de record:

software
Créateur:
Mic
Hôte:
a Rwanda-focused digital addressing and delivery platform that gives people a simple digital identity for their physical location. # AHO **A shareable digital address layer for Rwanda** — the simplest way to share where you are. AHO turns a physical location into a persistent, shareable identity: a short code + a map point + the "last-100-metres" details (landmark, gate, floor, instructions) that people actually use to find you. Anyone can open a shared AHO from a link or QR — no app required. > Positioning note: AHO is not a delivery network (that space is served by > ePoBox/MPost). It focuses on the *sharing* and *privacy* engineering problem. > See `docs/DECISIONS.md` (ADR-0008). ## Status **Phase 1 complete — architecture, database, repository foundation.** No product features yet; this is the tested skeleton the MVP is built on. What works today (all verified, see "Testing"): - FastAPI app with `/health` and `/health/db` (the latter proves PostGIS is reachable). - PostgreSQL + PostGIS schema (`users`, `addresses`) via a hand-written Alembic migration. - `Address.location` stored as `geography(Point, 4326)` with a GiST index. - Opaque, checksum'd AHO code generator (`AHO-7QX4M2C`). - 11 passing tests, including DB-enforced code uniqueness and geography-in-metres distance. ## Tech stack | Layer | Choice | |---|---| | Web (Phase 2+) | Next.js, TypeScript, Tailwind, shadcn/ui, MapLibre GL | | API | FastAPI, Pydantic, SQLAlchemy 2.0, Alembic | | Database | PostgreSQL + PostGIS | | Auth (Phase 3) | Self-built JWT (access + refresh), role-based | | Deploy (Phase 12) | Vercel (web) + Railway (api) + managed Postgres/PostGIS | Architecture: **monorepo + modular monolith**. Rationale in `docs/DECISIONS.md`. ## Repository layout ``` aho/ apps/ api/ # FastAPI backend (this phase) web/ # Next.js frontend (Phase 2) docs/ # PRD, ADRs docker-compose.yml ``` ## Run it ### Option A — Docker (one command) ```bash cp .env.example .env docker compose up --build # API on localhost (runs `alembic upgrade head` on start) ``` ### Option B — Local (Postgres/PostGIS al …