Create a mvc app to register and submit a request for new laptop at a company

Job ID: 34279393

Budget: ₹600 – ₹1,500 INR

Functional Requirements:
Create a MVC application which has 2 controllers. One for registration and another for submitting a request for new laptop.
First page should just take the email address and let's say phone number.
Second page should just take the laptop details such as memory requirement, cpu requirement etc.
When a user with same email address tries to access the second page, and if the user has already created the laptop request, that request should be
shown on the second page to that user.
Non-Functional Requirements:
You will need to write get and post methods/actions in the above implementation.
Try to write UTs which can cover main use cases.
Please use CosmosDB as your backend to store the data.
The moment a new laptop request is created, an entry should be made in a queue (storage or service bus). The listener (Queue triggered Azure
function) of this queue should pick that message and just log in the logs that message was process successfully for given user with provided laptop
details.
Once the app is developed, please deploy the same on Azure Web App or Azure Service Fabric. Preferably perform the deployment using ARM
templates.
To access the CosmosDB, please store the connection in Azure Key Vault.
To access to connection from Azure Key Vault, setup a service principle or managed identity based on what you used as infrastructure i.e. either web
app or service fabric.
Add MDM/Jarvis counters using Global/Action MVC filters such as number of requests being made, total latency for each request, etc. (You may face
certificate issues here. But we will see when you reach at this point)
Create a PR with all above changes in a separate repo in ADO (If you are already familiar with git and check-in/checkout process then you can probably
skip this part)
Once the data for few users is collected, create a graph using Feed Coordination Service to pull this data from one CosmosDB and push it to another
COsmosDB instance (or any other datastore such as blobs).