-
As part of the code challenge, please keep the terminal https://codechallenge.rexelapps.com/ open. If you accidentally close it, simply open it back and enter the same secret token that was provided to you. You will need to use the terminal to validate the works in each task.
-
You will submit a small project .NET Core project. While the project domain is entirely fictional, and the tasks you complete are rather contrived, the code you will need to write to complete the tasks has many parallels to code written in real-world business situations. Write and structure your code with the same care you would apply in a real-world business application.
-
A project "skeleton" has been provided containing a single Home controller with several Task actions, which will walk you through the coding challenge. DOWNLOAD this repository to your computer. (Please use the Download ZIP option. Do not use Git Clone to retrieve the project, and do not check in any changes to this repository.)
-
A set of simple views and their associated view models has been provided. Your focus should be on the back-end code. You will be working with a fictitious API endpoints that return results in JSON-formatted data.
-
Your task is to write the backend code needed to build out the provided View Models for each of the views. Do not use RestSharp or any other 3rd-party library/packages to query the API.
-
The project skeleton was built using Visual Studio 2019 and .NET Core 2.2. The project may or may not run on different IDE or other version of .NET Core, so keep that in mind.
-
Pay attention to
// #TODO
comments in the codes. It will guide you through what need to be done in each task. -
The previous developer may give you some additional insight on some files.
-
The property names of a view model may not match exactly to those responses from the API calls, so you shall demonstrate how to map between the API response and view model objects.
-
Even though this task is purely fictional in nature, be mindful of the organization of files within your project. Assume that this is just the starting point for a much larger project. Create any needed folders to group your classes just as you would in a real-world project. Do not, however, create additional projects within the solution.
-
Do not write any Javascript. Perform all API queries using C#.
-
When you are finished, we recommend uploading the completed project to a personal Github repository and providing us with the link to the repository when ready for us to view your code.