2026-01-14 17:31:45 -05:00
2025-10-23 20:23:03 -04:00
2026-01-14 17:31:45 -05:00
2025-04-10 09:26:28 -04:00
2025-09-19 19:33:53 -04:00
2025-05-28 21:21:25 -04:00
2025-09-19 19:33:53 -04:00
2025-04-14 22:55:32 -04:00
2025-05-23 09:20:08 -04:00
2025-06-19 12:35:26 +00:00
2025-10-23 20:23:03 -04:00
2025-10-23 20:23:03 -04:00
2025-09-19 19:33:53 -04:00
2026-01-14 17:31:45 -05:00
2026-01-14 17:31:45 -05:00
2025-10-23 20:23:03 -04:00

drawing

Aviation Data

Swagger Docs

Makefile

  • make or make help to list all commands
  • make docker-up to start all containers
  • make docker-refresh to start the background services
  • make docker-clean to stop and delete all containers, volumes, and networks related to the application

WARNING: Running make docker-clean or make docker-refresh will wipe the database, redis, and minio data

Setup

  1. Override any environment variables in .env.local
  2. Build the required images. Running just make build will build the nginx image
    • make build f=nginx
    • make build f=api
    • make build f=ui
  3. Generate the SSL certificates with make cert d=<DOMAIN>
    • Running just make cert will generate localhost certificates
  4. Run the application with make up

Development Environment

Start background services with make docker-refresh

  • Note: when ENVIRONMENT is not set to production (i.e., set to development), the nginx container will function only as a reverse proxy - the UI must be run through make run-ui

Start the UI through make run-ui and the API through make run-api

Production Environment

Start with make docker-up

The most likely to change environment variables are the following:

  • UI_PORT
  • API_PORT
  • POSTGRES_PORT
  • POSTGRES_PASSWORD - Please change in production environments
  • MINIO_HOST - Match to the NGINX_HOST value (see below)
  • MINIO_ROOT_PASSWORD - Please change in production environments
  • MINIO_BROWSER_REDIRECT_URL - Change to the FQDN of the URL that is reachable through the internet. For example: https://aviation.bensherriff.com/minio/
  • NGINX_HOST - The IP address of the system
  • NGINX_INTERNAL_HOST - Typically host.docker.internal or 172.17.0.1 to allow communication within the docker network
  • ENVIRONMENT - Change to production
  • ADMIN_EMAIL - Please change in production environments
  • ADMIN_PASSWORD - Please change in production environments
  • VITE_API_URL - Change to the FQDN of the URL that is reachable through the internet. For example: https://aviation.bensherriff.com/api
  • __VITE_ADDITIONAL_SERVER_ALLOWED_HOSTS - Change to the domain of the VITE_API_URL. For example: aviation.bensherriff.com

If the App is not directly exposed to the internet (i.e., behind another reverse proxy or similar), then NGINX_SSL_ENABLED most likely should be false. The NGINX_SSL_ENABLED should only be enabled when you need to set up SSL directly. However, the SSL configuration is incomplete, and may require additional configuration that is not included in this README.

  • Additionally, run make cert to generate certificates.

Data Sources

Airport Data

Potential Data sources

Metar Data

Metar data is collected from aviationweather.gov.

Decoding METARS

The following resources were used to help decode METARS.

OpenMapTiles

Generate Vector Tiles

ADS-B

Other data

Tests

cargo test metars::model::tests::test_parse_time -- --exact --nocapture

Description
Aviation Data Project
https://aviation.bensherriff.com
Readme 23 MiB
Languages
Rust 65.5%
TypeScript 23.1%
CSS 6%
Shell 1.6%
HTML 1.5%
Other 2.3%