A new flight reservation system is being commissioned and you are tasked with building this out. There will be multiple phases to this project, but you will be expected to deliver the first phase here. You are expected to build out the initial flight search feature. Users should be able to visit the application and view a list of flights based on search criteria. A data source is provided for you in the repo to put all of this together.
-
Allow the user to enter a station (
destination
ororigin
) to search flights. Display the results in a table. -
Provide an auto-suggest feature for the station. A user should be able to see flights based on station code or location name as they're typing out the search terms similar to how Google works.
Example: A user wants to select flights to/from Jacksonville. The associated station code is JAX
Case 1: User enters the keywords: Jack --> The user is presented with a list of suggestion(s) Case 2: User enters the keywords: Jackson --> The user is presented with a list of suggestion(s) Case 3: User enters the keywords: Jax --> The user is presented with a list of suggestion(s)
-
Provide two RESTful endpoints supporting the functionality listed in steps 1 and 2.
-
You can be creative with this as however you'd like
- Unit tests are created for your code and test the main logic you've put together, e.g. auto-suggest returns BNA when Nashville is the search term.
A zipped CSV file of flights is available in /data/flights.csv. Each row in the CSV file represents a flight.
- Backend: Python, node.js, SpringBoot, or whatever you're comfortable with
- Angular or other frontend frameworks (React, vue.js, next.js, etc.)
- Docker (If you'd like to host it, try hosting it on Firebase or Netlify since there's a free tier with a small db setup)
However, you may use other tech if you are more comfortable with something else. You can use any additional technologies/frameworks/DBs/libraries you would like to.
- Clone this repo and push it to a personal GitHub repo and submit the link
- Please update the README with how to run your app and your tech stack used and anything else that the reviewer may need to get started with your code. If you'd like to mention anything else about your code and logic, please note it here. We will be running your app locally to validate your work.
- Return your solution within 5 business days, unless other directions are provided.
- Feel free to ask questions at any time. Questions are welcome!
- Have fun with it! Your application can be as simple or complex as possible.
- Tech Stack : React via vite
- Start Process :
- Clone or download
- Navigate to plight and
run npm install
- To start run
npm run dev
Need still to do :
- Style
- Decouple and have a front and backend
- Host via AWS
- Fix tests