Blue Falcon

Airport Operations Management System

Technologies
Python Django 5.2.12 Django REST Framework Django Channels PostgreSQL Redis Django-Q2 HTMX Bootstrap 5 Chart.js WebSocket Django Crispy Forms Django Filter django-two-factor-auth drf-spectacular WhiteNoise
Status Production Ready
Category Aviation Technology

Project Overview

Blue Falcon is a comprehensive, enterprise-grade Airport Operations Management System built with Django 5.2.12. It provides a complete solution for managing real-world airport operations including flight scheduling, gate management, passenger tracking, staff assignments, fiscal assessments, and regulatory compliance.

The system centralizes all airport operational data in a single platform, provides real-time visibility into airport operations via dashboards and WebSocket updates, enables data-driven decision making through comprehensive analytics and reporting, ensures regulatory compliance through audit logging and approval workflows, and supports multiple airports with comparative analytics.

Real-time
WebSocket Updates
5
User Roles (RBAC)
15+
Database Models
WCAG 2.1
AA Compliance

Key Features

Real-time WebSocket Updates

Django Channels-powered WebSocket integration for instant data synchronization across all connected clients without page refreshes. Live dashboard updates, flight status streaming, gate availability updates, and real-time event logging.

🔐

Role-Based Access Control

Comprehensive RBAC system with granular permissions for five user types: Administrators (full access Approvers (elevated access), Editors (standard access), Viewers (read-only), and Public Users (limited access to flight status and baggage tracking).

📊

Interactive Dashboards

Chart.js-powered analytics dashboards displaying real-time operational metrics, flight statistics, performance indicators, gate utilization rates, passenger analytics, and financial summaries with historical trend analysis.

✈️

Flight Operations Management

Complete flight lifecycle management including scheduling, status tracking (scheduled, boarding, departed, arrived, delayed, cancelled), gate assignment with conflict detection, delay tracking, and passenger boarding progress.

🚪

Gate Management

Real-time gate status tracking (available, occupied, maintenance, closed), terminal-based organization, capacity classification (narrow-body/wide-body), automatic and manual assignment with conflict detection, and utilization analytics.

👥

Passenger & Staff Management

UUID-based passenger identification for privacy compliance, check-in tracking, baggage tracking per passenger. Complete staff registry with roles, certifications, availability tracking, and assignment conflict detection.

💰

Fiscal Management

Period-based financial assessments (daily, weekly, monthly, quarterly, yearly), revenue tracking across multiple streams, comprehensive expense management, approval workflows with audit trails, and automated profit/loss analysis.

📝

Advanced Reporting

Automated report generation with customizable templates, scheduled reports (daily, weekly, monthly), multi-format export (HTML, PDF, CSV, JSON), email delivery, and compliance documentation support.

🔔

Browser Notifications

Push notifications for important events including flight status changes, gate assignments, approval requests, and system alerts with user-configurable notification preferences.

🌐

Public Portals

Public-facing flight status portal and baggage tracking system requiring no authentication, allowing passengers to check flight status and track baggage in real-time.

Core Capabilities

RESTful API

Complete API v1 with versioning support, token and session authentication, rate limiting (1000 requests/hour authenticated), interactive Swagger UI and ReDoc documentation via drf-spectacular.

Two-Factor Authentication

Enhanced security with django-two-factor-auth integration, TOTP support, QR code generation for authenticator apps, SMS backup, and mandatory 2FA for privileged accounts.

Background Task Processing

Django-Q2 for asynchronous task processing including scheduled report generation, email delivery, cache warming (every 30 min), weather data fetching (every 15 min), and database backups.

Weather Integration

Open-Meteo API integration for real-time weather data at all airports, automatic weather alerts, and weather impact analysis on flight operations.

Aircraft & Maintenance

Complete aircraft registry with tail numbers, models, and capacities. Maintenance logs with cost tracking, flight hours monitoring, and maintenance schedule management.

Audit Logging

Comprehensive EventLog system tracking all CRUD operations with user attribution, timestamps, severity levels, and real-time WebSocket streaming for live monitoring.

Technical Architecture

Backend

  • Framework: Django 5.2.12 with application factory pattern
  • Database: PostgreSQL 12+ with psycopg2-binary (SQLite for development)
  • API: Django REST Framework 3.16.0 with versioning (v1)
  • WebSocket: Django Channels 4.2.0 with Daphne 4.2.1 ASGI server
  • Caching: Redis 5.2.1 as channel layer backend and cache
  • Background Tasks: Django-Q2 1.9.0 for scheduled and async jobs
  • Authentication: Django Auth + Token Auth + django-two-factor-auth 1.17.0
  • Forms: Django Crispy Forms with validation and CSRF protection
  • Filtering: Django Filter 25.1 for advanced search capabilities

Frontend

  • Styling: Bootstrap 5 with custom CSS (WCAG 2.1 AA compliant)
  • Charts: Chart.js for interactive data visualization
  • Dynamic Loading: HTMX for AJAX-like partial page updates
  • Icons: Font Awesome
  • JavaScript: Vanilla JS with WebSocket integration and notification system

Database Models

Airport

Airport entities

Gate

Gate management

Flight

Flight operations

Passenger

Passenger tracking

Staff

Staff registry

StaffAssignment

Crew assignments

FiscalAssessment

Financial data

Report

Generated reports

Document

Document templates

Aircraft

Aircraft registry

MaintenanceLog

Maintenance tracking

EventLog

Audit logging

Baggage

Baggage tracking

WeatherCondition

Weather data

ReportSchedule

Scheduled reports

WebSocket Consumers

DashboardConsumer

/ws/dashboard/

FlightUpdatesConsumer

/ws/flights/

GateStatusConsumer

/ws/gates/

EventLogConsumer

/ws/events/

NotificationConsumer

/ws/notifications/

Technical Implementation

$ Architected enterprise-grade Django 5.2.12 application with PostgreSQL database, Django REST Framework, and Django Channels for real-time WebSocket communication

$ Implemented comprehensive RBAC system with five user roles (Administrator, Approver, Editor, Viewer, Public), custom permission classes, and group-based access control

$ Developed 15+ database models including Airport, Gate, Flight, Passenger, Staff, FiscalAssessment, Report, Document, Aircraft, MaintenanceLog, EventLog with custom managers

$ Built RESTful API v1 with DRF ViewSets, token/session authentication, rate limiting (1000 req/hr), and interactive Swagger UI documentation via drf-spectacular

$ Integrated Django Channels 4.2.0 with Daphne ASGI server for real-time WebSocket updates including dashboard metrics, flight status, gate availability, and event logging

$ Configured Redis 5.2.1 as channel layer backend for WebSocket message routing and as cache for improved response times with cache warming tasks

$ Implemented Django-Q2 for background task processing including scheduled report generation, email delivery, weather data fetching (15 min intervals), and database backups

$ Developed Chart.js dashboards with real-time data visualization including flight statistics, operational metrics, gate utilization, passenger analytics, and financial summaries

$ Integrated HTMX for dynamic partial page updates, reducing page reloads and improving UX with AJAX-like interactions without heavy JavaScript frameworks

$ Built two-factor authentication using django-two-factor-auth 1.17.0 with TOTP support, QR code generation, and SMS backup for enhanced security

$ Created fiscal management module with period-based assessments, multi-stream revenue tracking, expense management, approval workflows, and profit/loss analysis

$ Implemented comprehensive audit logging via EventLog model tracking all CRUD operations with user attribution, timestamps, severity levels, and real-time WebSocket streaming

$ Developed public portals for flight status and baggage tracking requiring no authentication, allowing passengers to check status in real-time

$ Integrated Open-Meteo weather API for real-time weather data at all airports with automatic alerts and weather impact analysis

$ Built browser notification system with push notifications for flight status changes, gate assignments, approval requests, and system alerts

$ Configured WhiteNoise for efficient static file serving and deployed on Render.com with PostgreSQL and Redis add-ons

$ Implemented WCAG 2.1 AA compliance with accessible color contrast, keyboard navigation, ARIA labels, and semantic HTML throughout the application

Getting Started

Prerequisites

  • Python 3.12+
  • PostgreSQL 12+ (for production) or SQLite (for development)
  • Redis (optional, for background tasks and caching)
  • pip and virtualenv
  • Git

Installation

  1. Clone the repository: git clone https://github.com/AlexBiobelemo/Project-Falcon
  2. Navigate to project: cd "Blue Falcon"
  3. Create virtual environment: python -m venv venv
  4. Activate venv: venv\Scripts\activate (Windows) or source venv/bin/activate (Linux/Mac)
  5. Install dependencies: pip install -r requirements.txt
  6. Create .env file with SECRET_KEY, DEBUG, DATABASE settings
  7. Run migrations: python manage.py migrate
  8. Create superuser: python create_superuser.py
  9. Collect static files: python manage.py collectstatic --noinput
  10. Start server: python manage.py runserver or daphne airport_sim.asgi:application for WebSocket

Access Points

  • Dashboard: http://localhost:8000/
  • Admin Panel: http://localhost:8000/admin/
  • API Documentation: http://localhost:8000/api/schema/swagger-ui/
  • Flight Status Portal: http://localhost:8000/flights/public/
  • Baggage Tracking: http://localhost:8000/baggage/public/