Logo Lanfrica

EvansNzati007/gabon-public-api

Domaine:

geospatialdigital infrastructure

Type de record:

software
Créateur:
Eva
Hôte:
# OpenGabon API > API publique et open source sur les données administratives et géographiques du Gabon. OpenGabon est une API REST construite avec NestJS qui expose les données administratives du Gabon — provinces, départements, et à terme villes, communes et bien plus. L'objectif est de fournir une ressource fiable, gratuite et documentée pour les développeurs, chercheurs et citoyens gabonais. --- ## Stack technique - **Framework** : NestJS (Node.js / TypeScript) - **ORM** : TypeORM - **Base de données** : SQLite (dev) → PostgreSQL (prod) - **Runtime** : Node.js 18+ --- ## Installation ```bash git clone github.com cd gabon-api-public npm install ``` Créer un fichier `.env.development` : ```env DB_NAME=gabon.sqlite ``` Lancer le seed (peupler la base) : ```bash npm run seed ``` Démarrer le serveur : ```bash npm run start:dev ``` L'API tourne sur `localhost`. --- ## Endpoints disponibles ### Provinces | Méthode | Endpoint | Description | |---|---|---| | GET | `/provinces` | Liste toutes les provinces | | GET | `/provinces/:code` | Récupère une province par son code administratif (ex: `G1`) | | GET | `/provinces/:code/departements` | Récupère une province avec ses départements | ### Départements | Méthode | Endpoint | Description | |---|---|---| | GET | `/departements` | Liste tous les départements (paginé) | | GET | `/departements/:id` | Récupère un département par son ID | #### Pagination ``` GET /departements?limit=10&offset=0 ``` --- ## Format des réponses Toutes les réponses suivent un format uniforme : ```json { "statusCode": 200, "message": "success", "data": { ... } } ``` En cas d'erreur : ```json { "statusCode": 404, "message": "Province with code G99 not found", "error": "Not Found" } ``` --- ## Codes administratifs des provinces | Code | Province | Chef-lieu | |---|---|---| | G1 | Estuaire | Libreville | | G2 | Haut-Ogooué | Franceville | | G3 | Moyen-Ogooué | Lambaréné …