Plateforme de signalement et d'analyse des incidents gouvernementaux alimentée par l'intelligence artificielle.
# AfriGov Sentinel
**AI-powered civic incident surveillance system for West Africa**
Built for the Elasticsearch Agent Builder Hackathon 2026
Co-authored-by: Olivier FIABI, flowoliv277@gmail.com
---
## Architecture
```
Citizen → Frontend (HTML/CSS/JS)
↓
FastAPI Backend
↙ ↘
Elasticsearch Elastic Agent Builder
(storage + (AI analysis +
search + decision making)
aggregations)
↘
Response → Citizen
```
## Stack
- **Backend**: FastAPI (Python)
- **Database**: Elasticsearch (Elastic Cloud)
- **AI Brain**: Elastic Agent Builder
- **Frontend**: Vanilla HTML/CSS/JS
## Features
- **Incident Reporting**: Citizens can report incidents with detailed descriptions and severity levels.
- **AI Analysis**: Elastic Agent Builder provides real-time risk assessment and action plans.
- **Interactive Maps**: Locate incidents and visualize data on a map.
- **Authority Dashboard**: Manage escalations and monitor incidents in real time.
## Setup
### 1. Clone & Install
```bash
git clone
github.com
cd afrigov-sentinel/backend
pip install -r requirements.txt
```
### 2. Configure Environment
```bash
cp ../.env.example .env
# Edit .env with your Elastic Cloud credentials
```
### 3. Configure Elastic Agent Builder
In Kibana:
1. Go to **Search → Agents → Create Agent**
2. Name it `AfriGov Sentinel`
3. Connect it to your `incidents` index
4. Copy the Agent ID from the URL
5. Add it to `.env` as `ELASTIC_AGENT_ID`
### 4. Seed Data
```bash
python seed_data.py
```
### 5. Run
```bash
uvicorn main:app --reload
```
### 6. Open Frontend
Open `frontend/index.html` in your browser.
## API Endpoints
| Method | Endpoint | Description |
|--------|----------|-------------|
| POST | `/report-incident` | Submit + analyze incident |
| GET | `/incidents` | List all incidents |
| GET | `/stats` | Aggregated statistics |
| GET | `/health` | System health check |
## How It Works
1. Citizen fills out the form and submits an inc …