Skip to content

jonechelon/matchfly-pseo

Repository files navigation

Flight Reliability Monitor and Compensation Claims

Language / Idioma / Idioma:

English Português Español


🇬🇧 English

MatchFly aggregates flight data (delays and cancellations) from Guarulhos Airport (GRU), generates SEO-optimized static pages, and informs passengers about compensation rights (ANAC 400 / EC 261), with integration to compensation verification partners.


About

MatchFly is an automated platform that:

  • Consolidates flight data (scrapers, CSV, ANAC data)
  • Generates a static site with one page per problematic flight and per destination
  • Provides a clear interface for status queries and links for compensation verification

The site is published on GitHub Pages from the docs/ folder on the main branch.


UI: Split-Flap (Retro Airport)

The interface uses a Split-Flap visual concept (retro airport-style panels): cards by city with delayed/cancelled flights, tab navigation (Cities, Cancelled, Delayed), and a custom 404 page. The layout is responsive (Tailwind CSS) and accessible.


Tech Stack

Layer Technology
Backend Python 3.12
Templates Jinja2
Styles Tailwind CSS (CDN)
Data JSON (data/flights-db.json)
Publishing GitHub Pages (/docs folder)

How to run

Prerequisite: have data in data/flights-db.json (generated by voos_proximos_finalbuild.py or historical import).

Generate the site locally (output in docs/):

pip install -r requirements.txt
python src/generator.py

Open in browser: docs/index.html or serve the docs/ folder with a local server (e.g., python -m http.server --directory docs 8000).

To update data before generating:

python voos_proximos_finalbuild.py
python src/generator.py

Complete pipeline (scraper + generator): ./scripts/run_pipeline.sh (run from repository root).


Project structure

Folder / file Description
src/ Main code: page generator (generator.py), enrichment, scrapers, and Jinja2 templates.
docs/ Generator output and folder published on GitHub Pages (HTML, sitemap, robots, CNAME, 404).
data/ Flight database in JSON and support files (e.g., ANAC routes).
_internal_docs/ Internal technical documentation (architecture, deploy, guides).
scripts/ Automation and maintenance scripts (e.g., run_pipeline.sh).
voos_proximos_finalbuild.py Data synchronization entry point (used by CI and locally).

Internal documentation

  • Architecture and flow: _internal_docs/ARCHITECTURE.md
  • Deploy (GitHub Pages, CNAME, workflow): _internal_docs/DEPLOY.md
  • Other guides and references: _internal_docs/ folder

License and usage

Consult the repository and internal documentation for details on usage, contribution, and license.