Skip to content

Features a program that processes airline flight reviews to provide the user with the best airlines for a given route. (v1.0)

Notifications You must be signed in to change notification settings

jojongx/NoRoomForAir-or

 
 

Repository files navigation

No Room for Air-or

This project features an SFML executable that uses a dataset of 129,455 flight reviews to give a user the best recommendation for an inputted source and destination city. It will show all of the airlines that fly the route, ranked by overall score (out of 10), as well as averaged ratings (out of 5) for a variety of aspects of the in-flight experience. All of the reviews are from real people.

Table of Contents

Airline Processing - Contains the backend for the program that processes the formatted reviews. The Processor class contains the Hash Map and the Splay Tree and handles all data operations.
NoRoomForAiror SFML - Contains the final SFML application with the user interface.
Project 3 Testing - Contains the integration of the backend and the frontend, used for testing and to generate a working executable.
data_processing - Contains the Python script that processes the airline reviews and outputs the formatted data. See Data for more information.

Tutorial

Download the release, extract the folder, then navigate to NoRoomForAiror\NoRoomForAiror SFML\cmake-build-debug and run the executable. Ignore the Windows Defender message. You can trust us :)
This project is dependent on SFML. (see Data)

Purpose

No Room for Air-or is a final project for COP3530 - Data Structures and Algorithms. The purpose of the project is to compare two data structures or algorithms using a dataset with >100,000 elements. In our case, we compared the search performance of a Hash Map, implented as an std::unordered_map, with a Splay Tree we found online for educational purposes. In our testing, we often found the Splay Tree to be just a little bit faster than the std::unordered_map, usually by a few hundred thousandths of a second.

Features

The program allows the user to input a source city and a destination city using the GO button. Then, airlines that cover the route, using data from the reviews, are shown and ranked by overall score, out of ten. Other rating categories are shown, including Entertainment, Food, Comfort, Service, Value, Ground Service, and Wifi. These are ranked out of five. The program also uses text in the whimsical Comic Neue font, with bright colors and graphics.

Data

The dataset containing the reviews is too large to be stored in the repo, but you can download it here. However, the processed data AirlineData.csv and corresponding misses.csv in data_processing are current as of 12-4-23. misses.csv stores the route and respective unique-id associated with the missed reviews. The release is dependent on an SFML install of 2.5.1 or later.

Credits

Joseph Benigno [email protected] - Programmer, User Interface
Elijah Johnson [email protected] - Programmer, Raw Data Handling and Formatting
Jonathan Xavioer [email protected] - Programmer, Proccessed Data Manipulation and Data Structures
Report - Google Docs Link

Resources/Libraries

C++ SFML - link
RapidCSV - link
Splay Tree - link

About

Features a program that processes airline flight reviews to provide the user with the best airlines for a given route. (v1.0)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Makefile 39.3%
  • C++ 38.9%
  • C 12.9%
  • CMake 6.8%
  • Python 2.1%