ryakel/flight-budget

Containerized responsive web app for flight training and budgeting

โ˜… 0Forks 0JavaScriptGitHub โ†—Compare

README

Flight Training Budget Calculator

A web-based calculator to help pilots estimate costs for flight training certifications including Instrument Rating, Commercial Pilot License, and CFI.

Docker License: MIT

Quick Start

Option 1: Run Locally (No Installation Required)

Simply open the HTML file in your browser:

# Clone or download the repository
git clone https://github.com/ryakel/flight-budget.git
cd flight-budget

# Open in your default browser
open app/index.html
# Or on Linux: xdg-open app/index.html
# Or on Windows: start app/index.html

All features work directly in the browser with no dependencies or server required!

Option 2: Docker Deployment

For production hosting or self-hosting:

# Basic deployment (without FAA lookup)
docker run -d -p 8181:80 ryakel/flight-budget:latest

# Or with FAA lookup enabled (requires tail-lookup service)
docker-compose --profile faa-lookup up -d

# Access at http://localhost:8181

See Deployment Guide and infrastructure/examples/ for complete setup instructions.

Features

  • ๐Ÿš€ Guided Onboarding Wizard - Three pathways: manual entry, ForeFlight import, or load saved budget
  • ๐Ÿ“Š Import ForeFlight logbook (CSV) to track current hours
  • ๐Ÿ” Optional FAA Aircraft Lookup - Automatically verify US aircraft data from FAA registry
  • โœˆ๏ธ Calculate costs for multiple aircraft with wet/dry rates
  • ๐Ÿ“ˆ Visual budget breakdown with charts
  • ๐Ÿ’พ Save and load budget configurations
  • ๐Ÿ“„ Export budget reports to PDF
  • ๐ŸŽฏ Track progress toward certification requirements
  • ๐Ÿท๏ธ Data source badges (FAA Verified / ForeFlight)

Documentation

๐Ÿ“š Complete Documentation Wiki

Quick Links

๐Ÿ“– View Full Wiki for complete documentation including:

  • Development guides and workflows
  • Docker and container setup
  • CI/CD automation
  • Dependency management
  • Project structure and history

Project Structure

flight_budget/
โ”œโ”€โ”€ app/                    # Application files (deployed in container)
โ”‚   โ”œโ”€โ”€ index.html         # Main HTML
โ”‚   โ”œโ”€โ”€ css/               # Stylesheets
โ”‚   โ”œโ”€โ”€ js/                # JavaScript
โ”‚   โ”œโ”€โ”€ libs/              # Vendored libraries
โ”‚   โ””โ”€โ”€ data/              # Persistent storage
โ”œโ”€โ”€ wiki/                   # Documentation (GitHub Wiki)
โ”œโ”€โ”€ infrastructure/         # Docker & deployment configs
โ””โ”€โ”€ .github/               # CI/CD workflows

Development

# Open app/index.html in a browser
open app/index.html

# Or use a local server
python3 -m http.server 8000 --directory app

Deployment

Docker (Recommended)

# Build
docker build -t ryakel/flight-budget:latest -f infrastructure/Dockerfile .

# Run
docker run -d -p 8181:80 ryakel/flight-budget:latest

Portainer

See DEPLOYMENT.md for complete Portainer setup with automated webhooks.

Tech Stack

  • Frontend: Pure HTML/CSS/JavaScript (no framework)
  • Charts: Chart.js
  • CSV Parsing: PapaParse
  • PDF Export: html2pdf.js
  • Container: nginx:alpine (~30MB)
  • Optional Services:
    • tail-lookup - FAA aircraft data lookup (Python + SQLite, ~256MB)
  • Deployment: Docker + Portainer

Contributing

Contributions welcome! Please read our contributing guidelines first.

License

This project is licensed under the MIT License.

Copyright (c) 2024-2025 FliteAxis

See the LICENSE file for full details.

Support

Author

ryakel


๐Ÿ›ซ Made with ๐Ÿ’™ by ๐Ÿ‘จโ€โœˆ๏ธ, for ๐Ÿง‘โ€โœˆ๏ธ

Contributors

ryakel

Issues