Skip to content

Take off with Flight Visualizer, an interactive web app that lets you visualize Lufthansa's global reach. From simulating real time data to a detailed analysis in the sandbox mode, discover the hidden patterns of air travel.

License

Notifications You must be signed in to change notification settings

Erijl/flight-visualizer

Repository files navigation

Flight Visualizer

Frontend Deployment Backend Deployment

Flight Visualizer is an open-source web application that lets you explore Lufthansa's global flight network. Track flights, discover intricate details and enjoy the data. Check it out here!

Disclaimer: This project is not affiliated with Lufthansa in any way, it's just based around their data.

Technical Highlights

Some technical highlights, not necessarily unique but technically interesting and some being uncommon

Protocol Buffers as SSoT data model with REST API

I needed a shared data model between client and server, from a single source of truth (SSoT). So, instead of going the usual route, I chose Protocol Buffers in combination with a 'standard' Rest API. Not too common, but this not only assures that the data model is consistent between client and server but also allows for a more efficient data transfer and better performance than typical methods. Implementation

Theoretical real time flight visualisation

The 'theoretical' flight visualisation utilizes parts of the Haversine formula to theoretically calculate the position of an aircraft at any given time based on the origin and destination airport coordinates as well as departure and arrival times. Paring this with a sped up interval and some speed modifiers, you got yourself a real-time flight visualisation, which (sadly) due to performance issues, had to be implemented into the frontend instead of precalculating in the backend. Implementation

Automatic CI/CD pipeline with GitHub Actions

The project utilizes a CI/CD pipeline to automate the build and deployment of both the frontend and backend. The frontend is deployed to a web server, and the backend is containerized and deployed to my virtual machines in the cloud via Docker Hub. Implementation

Getting Started / Contributing

There is currently no local development setup guide planned since it involves many dependencies, like a Mapbox account, which in of itself needs a credit card to be set up. If you however are still interested, open an Issue and I will create a fully comprehensive guide for local development including sample data for the database.

Project Structure

The Project is divided into four main directories, some containing its own readme for more detailed information:

/api-models - Protocol Buffer files for the SSoT data models
/flightvisualizer-backend - Spring Boot backend code
/flightvisualizer-frontend - Angular frontend code
/flightvisualizer-database - Scripts for setting up the database
/assets - Static assets for the readme
...

Contributors

Portrait | @Erijl

License

This project is licensed under the MIT License.

Favicon & Icon used with slight color alteration: Globe-trotterderivative work: LtPowers, CC BY-SA 3.0 https://creativecommons.org/licenses/by-sa/3.0, via Wikimedia Commons

About

Take off with Flight Visualizer, an interactive web app that lets you visualize Lufthansa's global reach. From simulating real time data to a detailed analysis in the sandbox mode, discover the hidden patterns of air travel.

Topics

Resources

License

Stars

Watchers

Forks