Skip to content

cis3296f23/TakeOff-Web-App

Repository files navigation

TakeOff

Take Off is a web application project inspired by FlightRadar24. Users are able to view, search, bookmark, and track flights. Users will be able to filter the flights by location, duration, and distance. Users could sign up and/or login to save their account information and their history of tracked flights. Users could also zoom in and out of the map. HTML, CSS, and Javascript will be used for the frontend development. Python and Oracle SQL will be used for the backend. APIs such as Geolocation will be utilized to get one’s current location and AirLabs to find airport and flight information.

Homepage inspiration from Flightradar24.com:

Flightradar24.com Homepage

Our Mockup:

Take-Off Mock up

Final Product:

Take-Off Final Product

How to contribute

Follow this project board to know the latest status of the project: Project Board

How to build

Currently, the most stable release of this project is the main branch. This project has been thoroughly tested on python v3.12.0 and javascript (ECMAScript 2023).

This project makes use of multiple different libraries, packages and drivers all of which will be necessary to build.

To use the login/signup feature, a Windows machine is required.

Geocoder

Firstly, we will need the 'geocoder' library which is a simple and consistent geocoding library written in Python. This is done simply using the pip install geocoder command.

To double check the success, rerun the commands and you should expect a similiar output:

Geocoder

Flask

Secondly, we will need the flask and CORS libraries/modules. These modules are used for setting up the back-end servers and allow communication between the javascript oriented frontend and python oriented backend.

pip install flask pip install CORS

To double check the success, rerun the commands and you should expect a similiar output:

Flask CORS

Database Modules / Drivers

Next, this project takes advantage of Temple's Oracle SQL database server.

This is the most difficult part of the build process. You will need to manually download the Instant-Client for windows/macOS respectively. Instant-CLient Instant-CLient Instant-CLient

This folder must be added to your PATH file path.

Path

To ensure that the drivers are found by python, copy and paste the .dll files into the C:\User\Python\Python312 to ensure they are correctly found.

dll-Files

cx_Oracle

Due to Temple's Server being a bit deprecated, we will need to use cx_Oracle as opposed to the current, oracledb library. In addition to this, we must have Microsoft Visual C++ 14.0 or greater, only able to be downloaded using Visual-Studio-CPP-Build-Tools directly from their website using their installation/downloadable program.

Instant-CLient

After all this, you can sucessfully do pip install cx_Oracle

To double check the success, rerun the commands and you should expect a similiar output:

cx_Oracle

How to run

Windows

To run our project you need to download three files:

After downloading these files, open up three terminals on your local machine. In each terminal insert ONE of these commands

start python data.py

start python login.py

start python signup.py

After running all three commands in different terminals, launch the website by clicking this link TakeOff-Web-App

Mac

To run our project you need to download one file:

After downloading these files, open up a terminal window on your local machine. In the terminal insert the following command:

python3 data.py

After running this command in terminal, launch the website by clicking this link TakeOff-Web-App