-
Notifications
You must be signed in to change notification settings - Fork 0
AirportsFeedReader.Web
This project contains front-end functionality.
It is built in MVC 5. MVC razor views are used to display the UI to users. On front-end jQuery, Bootstrap and KnockoutJS is used. JsGrid is used to display airports listing with paging support.
Following Web API end points are supported:
This is main end point to get list of airports. It will return JSON. The controlled will get the data from repository. In case data is read from feed, response header "from-feed" will be returned as "Feed". In case the data is returned from cache the header will be returned as "Cache"
This is another end point to get list of Countries. This data will be used to display country name in the grid against the ISO data in the airports feed. This data will also be used to show countries in the drop-down filter.
This is for the extra point. There is a demo page to show use of this end point, where you can select source and destination airports to calculate the distance between the selected airports.
A custom attribute "FromFeedHeaderAttribute" is implemented, which is used in the controller call for GetAirportsList
. This custom attribute will check if the data is available in cache is valid or not, if it is valid, it will return "Cache", other wise it will return "Feed".
- KnockoutJS
- jQuery
- Bootstrap
- JsGrid
DeveloperExercise by Azhar Javaid Abbasi