A Spring Boot API for accessing Rwanda's geographical data, including provinces, districts, sectors, cells, and villages. Containerized using Docker for easy deployment. Tags: @SpringBoot @Docker @Maven @Java @RwandaGeoData.
# Rwanda GeoData API
## Overview
The **Rwanda GeoData API** provides endpoints for accessing geographical data for Rwanda, such as provinces, districts, sectors, cells, and villages. This API leverages a custom Java library (`RwandaGeoData`) that helps in validating and retrieving Rwanda's hierarchical geographical data. The API is built using **Spring Boot** and is containerized using Docker for easy deployment.
## Features
- **Get all provinces:** Retrieve a list of all provinces in Rwanda.
- **Get districts by province:** Retrieve a list of districts within a given province.
- **Get sectors by district:** Retrieve a list of sectors within a given district.
- **Get cells by sector:** Retrieve a list of cells within a given sector.
- **Get villages by cell:** Retrieve a list of villages within a given cell.
## API Endpoints
### 1. **Get All Provinces**
- **Endpoint:** `/api/v1/rwanda/provinces`
- **Method:** `GET`
- **Response:** Returns a list of all provinces in Rwanda.
### 2. **Get All Districts by Province**
- **Endpoint:** `/api/v1/rwanda/districts/{province-name}`
- **Method:** `GET`
- **Path Parameter:**
- `province-name`: Name of the province.
- **Response:** Returns a list of districts within the specified province.
### 3. **Get All Sectors by District**
- **Endpoint:** `/api/v1/rwanda/sectors/{district-name}`
- **Method:** `GET`
- **Path Parameter:**
- `district-name`: Name of the district.
- **Response:** Returns a list of sectors within the specified district.
### 4. **Get All Cells by Sector**
- **Endpoint:** `/api/v1/rwanda/cells/{sector-name}`
- **Method:** `GET`
- **Path Parameter:**
- `sector-name`: Name of the sector.
- **Response:** Returns a list of cells within the specified sector.
### 5. **Get All Villages by Cell**
- **Endpoint:** `/api/v1/rwanda/villages/{cell-name}`
- **Method:** `GET`
- **Path Parameter:**
- `cell-name`: Name of the cell.
- **Response:** Returns a list of villages within the specified cell.
## Project Setup
## …