GithubHelp home page GithubHelp logo

beeline's Introduction

Beeline

Running instructions

Open the terminal and run the following commands:

cd beeline_public
npm i -g yarn
yarn 
npx prisma migrate dev
yarn run dev

The test user name is [email protected] and the password is password

Inspiration

During a recent study abroad that we participated in Singapore, we experienced flight cancellation due to inclement weather and we struggled with going out of our way to re-book our flights. Fortunately, all of us were able to be booked on the very next flight but others on the trip were not as lucky and arrived to our program days late and exhuasted from many layovers. We wanted to make it easier for a passenger to be able to glance at alternative routes to help mitigate the stress of travel.

What it does

Beeline allows a airline passenger to input their current flight path and searches for alternative routes that lead to the same destination in the event of a cancellation or missed flight. The routes are optimized to minimize cost and travel time and allows the user flexibility to pick what flight best suits their needs.

How we built it

The application was built with the Remix JavaScript framework for the front end and a Python back-end that interfaces using requests to a hosted server. The server returns shortest paths of mock flight data provided to us by the American Airlines FlightEngine open-source tool. The Python back-end runs graph algorithms to find the optimal path between airports accounting for travel time and price.

Challenges we ran into

The biggest challenge that we ran into is that traditional graph algorithms use distances to represent the weights of edges, but since airplanes have predetermined arrival and departure times, the shortest path in terms of distance is not always the most time or cost efficient. To solve this, we had to use more involved calculations to account for the time in between flights in our algorithms.

Accomplishments that we're proud of

We are especially proud of the front-end design as it was built using a framework that none of had experience with. We were able to create a user interface that implements user authentication and allow interoperability with code written in our more familiar languages.

What we learned

Our modifications to the graphs and algorithms involved tinkering with the implementations and additions of elements such as heuristic functions, so our understanding of graph theory was certainly expanded. We also got practice in the model-view-controller software architecture pattern that Remix uses.

What's next for Beeline

The next steps for Beeline are to add more parameters that the algorithm considers when planning its routes. This could include weather data and the passenger capacity of flights. It could also be extended by adding features such as a map and more visual elements.

beeline's People

Contributors

aketkar18 avatar elitracy avatar etingrice avatar marker6275 avatar

Watchers

 avatar

Forkers

marker6275

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.