Logo Lanfrica

elhoussine-arise/GeoRetail-Moussadik

Domaine:

geospatial

Type de record:

software
Créateur:
elh
HĂ´te:
🗺️ Geo-intelligence platform for mapping & census of Points of Sale across Morocco — FastAPI + OpenStreetMap + React/Gemini AI # GeoRetail x Moussadik **Geo-Intelligence Platform for Mapping & Census of Points of Sale across Morocco** --- ## About This monorepo contains **two complementary applications** developed for the GeoRetail project at **Ecole Centrale Casablanca** (2024/2025): | Application | Description | Tech Stack | |-------------|-------------|------------| | **GeoRetail MVP** | Automated POS mapping platform with OpenStreetMap data collection, interactive visualization, and REST API | FastAPI, Leaflet.js, Chart.js | | **Moussadik Census** | Crowdsourced POS confirmation app with AI-powered validation using Gemini and gamification system | React 19, TypeScript, Gemini AI | --- ## Architecture ``` GeoRetail-Moussadik/ | |-- GeoRetail_Final/ # Backend API + Web Dashboard | |-- main.py # FastAPI application (25+ endpoints) | |-- index.html # Interactive map dashboard | |-- georetail_database.json | |-- requirements.txt | +-- docs/ # Executive summary (PDF + LaTeX) | |-- Moussadik-POS-Census/ # React Mobile-First App | |-- App.tsx # Main application | |-- components/ # UI components | |-- services/ # Gemini AI integration | |-- utils/ # Geolocation utilities | +-- package.json | +-- README.md ``` --- ## GeoRetail MVP - Features ### Data Collection - **OpenStreetMap** automated collection via Overpass API (free) - **CSV/JSON import** for external datasets - **Manual entry** with form validation - Coverage: **9 regions**, **~2,976 POS** mapped ### Interactive Visualization - **Leaflet.js** map with marker clustering - Advanced filters (region, type, brand, category) - Real-time statistics with **Chart.js** ### REST API (25+ Endpoints) | Method | Endpoint | Description | |--------|----------|-------------| | `GET` | `/pos` | List POS with filters | | `POST` | `/pos` | Create a POS | | `POST` | `/collect/osm` | Launch OSM collection | | `GET …