A context aware GIS strategy for last mile delivery in Ghana, using pickup and dropoff nodes and network isochrones instead of home to home routing.
# π Accra PUDO Network Planning System
> A GIS-powered Pickup and Drop-off (PUDO) Network Planning Platform for Accra, Ghana.
---
## π Project Overview
The **Accra PUDO Network Planning System** is a spatial decision support platform designed to optimize the placement of Pickup and Drop-off (PUDO) locations throughout Accra using Geographic Information Systems (GIS) and network analysis.
Unlike traditional approaches that rely on fixed-radius buffers, this project uses **walking-time isochrones** generated from the road network to determine realistic accessibility for residents.
The system identifies underserved areas, generates candidate PUDO locations, and evaluates them using spatial constraints such as:
- Road accessibility
- Walking distance
- Water bodies
- Flood-prone areas
- Gated communities
- Industrial zones
- Existing logistics infrastructure
---
# π― Objectives
- Improve last-mile logistics planning
- Optimize PUDO placement
- Increase accessibility
- Reduce delivery costs
- Improve customer convenience
- Support data-driven urban logistics planning
---
# π System Architecture
```
React Frontend
β
REST API (FastAPI)
β
Business Logic & Services
β
Spatial Analysis Engine
(GeoPandas β’ Shapely β’ ORS)
β
PostgreSQL + PostGIS
β
OpenStreetMap β’ QGIS β’ ORS API
```
---
# π Tech Stack
## Frontend
- React
- TypeScript
- Vite
- Tailwind CSS
- Leaflet / MapLibre
- React Query
- Chart.js
---
## Backend
- FastAPI
- Python
- SQLAlchemy
- GeoPandas
- Shapely
- Pydantic
---
## Database
- PostgreSQL
- PostGIS
---
## GIS
- QGIS
- OpenStreetMap
- OpenRouteService
- GeoPandas
---
## DevOps
- Docker
- Docker Compose
- GitHub Actions
---
# π Repository Structure
```
accra-pudo/
β
βββ backend/
βββ frontend/
βββ database/
βββ gis/
βββ docs/
βββ assets/
βββ tests/
βββ docker/
β
βββ docker-compose.yml
βββ README.md
βββ LICENSE
βββ .gitignore
```
---
# β¨ Features
## GIS
- Walking Isochrones
- Coverage Analysis
- Candidate Generation
- Spati β¦