A scalable geospatial data platform designed to improve the discoverability and usability of African climate data. Leveraging MinIO, TiTiler, and Celery, the system streamlines data management and visualization, delivering standardized, high-resolution insights to support ACMAD’s regional early warning and disaster risk mandates.
# GeoDataManager
A comprehensive Django-based geospatial data management system for handling vector and raster geospatial data with PostGIS, integrated with Celery for asynchronous task processing, and MinIO for cloud-native object storage.
## Project Overview
GeoDataManager is built on the Django framework and provides a RESTful API for managing geospatial datasets. It includes:
- **Catalog Management**: Organize and manage geospatial layers and datasets
- **Vector Data Ingestion**: Import and process vector geospatial data
- **Tile Generation**: OGC-compliant tile services via TiPG
- **Async Processing**: Background job handling with Celery and Redis
- **Cloud Storage**: MinIO integration for scalable object storage
- **API Documentation**: OpenAPI/Swagger documentation with drf-spectacular
- **Authentication & Permissions**: Role-based access control
## Tech Stack
- **Backend**: Django 5.2+ with Django REST Framework
- **CMS**: Wagtail 7.2+ (optional content management)
- **Database**: PostgreSQL with PostGIS extension
- **Task Queue**: Celery with Redis broker
- **Object Storage**: MinIO
- **Tile Service**: TiPG (Tile serving over PostGIS)
- **Web Server**: Gunicorn + Nginx
- **Containerization**: Docker & Docker Compose
## Documentation
- **Architecture and roadmap** — current system diagram (Docker, Django, TiPG, frontends) and future multi-hazard / MCP / LLM plans.
## Project Structure
```
geomgr/
├── docs/ # Architecture & roadmap (see docs/README.md)
├── catalog/ # Catalog app for layer management
├── ingest/ # Vector data ingestion app
├── uploads/ # File uploads handling
├── vector_ingest/ # Vector data processing
├── home/ # Homepage/landing page app
├── search/ # Search functionality
├── geodatamanager/ # Django project settings
│ ├── settings/
│ │ ├── base.py # Base configuration
│ │ ├── dev.py …