A system for managing, enriching, and visualizing flight data. It features both Django and FastAPI backends, background task processing with Celery, and a dashboard for monitoring. The project is containerized with Docker and uses SQLite for development.
- Python 3.10+
- Django (web framework, dashboard, admin)
- Django REST Framework (API for Django)
- FastAPI (async API)
- Celery (background task processing)
- SQLite (development database)
- Redis (Celery broker and result backend)
- Poetry (Python dependency management)
- Docker & Docker Compose (containerization)
- Docker and Docker Compose installed (Install Docker)
- Git installed (Install Git)
- (Optional) Poetry for Python dependency management (Install Poetry)
-
Clone the repository:
git clone https://github.com/vgarcia13/ff-flight-data-enrichment-system.git cd ff-flight-data-enrichment-system -
Copy and configure environment variables:
cp .env.example .env
Edit
.envto set your environment variables. -
Build and start the containers:
docker compose up --build
-
Access the applications:
- Flight API Browser: http://localhost:8000/api/
- FastAPI: http://localhost:8080/docs
- Dashboard (Flights): http://localhost:8000/dashboard/flights/
- Dashboard (Completed Tasks): http://localhost:8000/dashboard/tasks/
- Import the API endpoints (Django: /api/, FastAPI: /docs) into Postman.
- For Django endpoints, use http://localhost:8000/api/.
- For FastAPI endpoints, use http://localhost:8080/.
- Send requests (e.g., POST /enrich-flight, GET /task-status/{task_id}) and inspect responses.
- Open http://localhost:8000/api/ in your browser.
- Browse available endpoints, submit requests, and view responses interactively.
Victor Garcia <https://github.com/vgarcia13>