Giter VIP home page Giter VIP logo

airport-tracking's Introduction

airport-tracking

Description

Airport Tracking is a Dash-FastAPI based web application which allows users to check different airports information. It features various sections like Airplanes, Airports and Schedules along with graphs and a map. Requests for information are made to an external API using airlabs API.

Installation

Prerequisites

  • Python 3.12
  • Poetry for Python dependency management
  • Postgres database
  • Virtual environment (optional but recommended)
  • AIRLAB API KEY (which has a free tier with 1000 request / month) :https://airlabs.co/

Steps

  1. Clone the repository or download the source code.
  2. (Optional) Create a virtual environment:
  python -m venv venv
  venv\Scripts\activate

3.Install dependencies using Poetry:

  poetry install

4.Set up your environment variables in the .env file , including the Postgres database settings.

  • DB_NAME
  • DB_USERNAME
  • DB_PASSWORD
  • DB_HOST (this is set to 'db' in docker-compose file)
  • DB_PORT
  • AIRLAB_API_KEY
  • API_HOTS (should be set to 'fastapi')

5.Create fastapi image from Dockerfile:

 docker build -t fastapi02 .

6.Create dash image from Dockerfile:

docker build -f dashboard/Dockerfile -t dash02 .

7.Start the app :

 docker compose up --build

Usage

After installation, access the web application at http://localhost:8050. Each user search for an airport or schedule are auto-saved in the database based on the specific API call.

Features

  • Search for airports based on standard IATA_CODES
  • Search for airports schedules
  • Visualize graphs for airports, schedules and airplanes
  • Visualize airports locations on a map

Technologies

  • Dash
  • FastAPI
  • SQLAlchemy
  • Postgres as the database backend
  • Poetry for dependency management

Contributing

Contributions to airport-tracking are welcome. Please follow the coding standards and contribute to tests for new features.

Licence

This project is licensed under the MIT License - see the LICENSE file for details.

airport-tracking's People

Contributors

bogdanmfometescu avatar

Stargazers

 avatar  avatar Daley Nyae avatar Sondos Ahmad Aabed avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.