The purpose of this application is to grab data from a public web API and display this data in a responsive web application allowing users to quickly filter through the results. The data selected was English League Football teams available from football-data.org
Example of the running application filtering by "man" then "manchester city" to limit the list of teams down
The repository is open and available freely under my Github JamesMReilly
I found that Microsoft's official documentation on <a href"https://docs.microsoft.com/en-us/aspnet/core/tutorials/razor-pages/?view=aspnetcore-2.0">Creating Razor Page web apps in ASP.NET Core and Session and app state in ASP.NET Core were the most useful in completing this exercise
- This app was developed entirely in Visual Studio
- Connects to football-data.org public API for football(soccer!) data
- The API requests are made in C# and deserialized into custom C# objects with NewtonSoftJSON
- The unit tests were written using NUnit 3 test framework
- The web page was built with ASP.NET Core using Microsoft's Razor Pages
- Browser caching implemented to save query results for performance
The application was implemented in 4 C# projects: Types, Core, Main, and Web
The Types project defines custom data types to deserialize JSON query results into
Core contains all code for making the specific HTTP requests and wrap the results into their respective types
The Main project has static implementations of the highest level methods to be called by the web project limiting the neccesary references to the API code
The ASP.NET Core web application. This project is the startup project and implements all front-end interaction with Razor Pages combining HTML and C#