Code Monkey home page Code Monkey logo

flightalert's Introduction

Logo

FlightAlert - Push Notifications for flight events

Never miss special aircrafts at your favorite airport:

Flight alert is an open-source flight notification web service which allows you to reicieve alerts for selected aircrafts arriving or departing at your local airport.

It is based on a Flask web framework and the Google Firebase Messaging api.

Features

  • Complete website with user registration and email confirmation with the gmail api
  • Search airports with the Air Labs api
  • Aircraft database with over 1200 aircrafts
  • Receive push notifications on multiple devices
  • Ready to be deployed in a Docker container
  • Running on gunicorn WSGI HTTP Server

How it works

Airport schedules are checked every day on the FlightAware website. The user can add multiple airports and different aircraft models for each one.

When an aircraft that a user has added to their watch list takes off or lands at that airport, the user will receive a push notification on their device.

Environment Variables

To run this project, you will need to add the following environment variables to your docker container:

Parameter Type Description
SECRET_KEY string Required. Flask application secret key
SQLALCHEMY_DATABASE_URI string Required. Database path
AIR_LABS_API_KEY string Required to search airports. You can get a free key on their website
FLIGHTAWARE_USERNAME string Required. FlightAware account used for scraping the tables
FLIGHTAWARE_PASSWORD string Required. FlightAware account password
GOOGLE_APPLICATION_CREDENTIALS string Required. Path to your firebase service account .json file
OAUTH2_TOKEN string Required. Path to your oauth credential.json file
SECURITY_PASSWORD_SALT string Required. Used for hashing user related links
ADMIN_PASSWORD string Optional. FlightAlert admin password
ADMIN_EMAIL string Optional. FlightAlert admin mail

They can also be found in the config.py file.

Run Locally

Clone the project

  git clone https://github.com/Foffa0/Flight-Alert.git

Go to the project directory

  cd my-project

Install dependencies

  pip install requirements.txt

Start the server (only for development)

  py run.py

A better solution is to run the gunicorn server as it is much faster and stable than the default flask development server.

  gunicorn 'app:create_app()' -w 1 --threads 2 -b 0.0.0.0:5000 --access-logfile=-

_Note: Gunicorn only runs on UNIX systems

Run in a docker container

The Dockerfile for creating an Image is provided in the root directory. When creating the container you need to add all the environment variables in order to run this project.

flightalert's People

Contributors

foffa0 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.