Skip to content

bisomaticc/Flight-Track

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Flight Track

Home Page

Project Summary

Description: Develop a system to provide real-time flight status updates and notifications to passengers.

Features

a. Real-time Updates: Display current flight status (delays, cancellations, gate changes). b. Push Notifications: Send notifications for flight status changes via SMS, email, or app notifications using Kafka, RabbitMQ, etc. c. Integration with Airport Systems: Pull data from airport databases for accurate information (mock data provided).

Solution

This project provides real-time flight status updates and notifications to users for tracking flights. Users can enter the date of the flight, flight number, airline, or simply the departure and arrival locations, with the only required field being the date of the flight. This flexibility allows users to search for flights easily.

Logged-in users can view the status of their booked flights without needing to search manually each time, enhancing convenience and efficiency.

The system provides real-time updates on current flight statuses, including delays, cancellations, and gate changes. Notifications about these status changes can be sent via SMS, email, and in-app messages. Kafka is used for in-app notifications to ensure reliable and efficient message delivery.

Integration with airport databases can be easily accomplished due to the use of SQL databases. The backend infrastructure is built using Python and PostgreSQL, with multiple databases managing user information, flight details, and bookings. Dynamic queries are used to handle multiple types of data, even if they are not included in the input.

Users are required to provide notification preferences during signup, which can be updated later by logging in. Users can select if they want to be notified about any changes in their flight plans. This feature ensures that users receive updates according to their preferences, making the system adaptable to individual needs.

To keep track of status updates of a flight I had to make two different databases then compare them to check if the flight status is changed or not whenever its changed if the user has selected notification he will get notified ot the users who are not logged in can still check the status of particular flight by entering data,airline,departure airport,arrival airport etc.

User login and signup has password encryption with help of bcrypt and to handle messaging and email notification duties I had to use Twilio and MIMEText to automate sending email to users. In frontend I had to build component in React using MUI or Material-UI added multiple pages with link to redirected to homepage searching for flight out had a lot of options instead of being dependent on a single flight number or date of flight user can choose a lot of things to search for his flight made separate page for signup, login, inlogin (page you are redirected to after login).

Screenshots

  1. Search Flight

    Home Page

    Here user can enter Airline or Flight Number and Date to get status of their flight they get redirected to another page with all details of flight

  2. Search Flight with more options

    Flight Details

    Users can enter other details as well to search their flight with date being mandatory

  3. Login

    Login Page

    Users can login once they are signed up

  4. SignUp Page

    SignUp Page

    SignUp Page

  5. Flight Success Search

    Flight Success Search

    Flight Success Search

  6. Success page redirected after login

    Success Page

    Success page redirect after login

How to Run the Project

  1. Clone the GitHub repository to your local machine.
  2. Configure environment variables for Twilio and email credentials.
  3. Install required packages using pip.
    pip install -r requirements.txt
    
  4. Start the Flask server.
    python app.py
    
  5. Install npm packages for React server.
    npm install -y
    
  6. Start the React development server.
    npm run dev
    

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published