Api project details
Swagger Url: https://mypremiumcalculatorapi.azurewebsites.net/swagger/index.html
To get all Occupations
Api endpoint: https://mypremiumcalculatorapi.azurewebsites.net/api/Occupation
Curl command: curl -X GET "https://mypremiumcalculatorapi.azurewebsites.net/api/Occupation" -H "accept: text/plain"
To get specific Occupation
Api endpoint: https://mypremiumcalculatorapi.azurewebsites.net/api/Occupation/{id}
Curl command: curl -X GET "https://mypremiumcalculatorapi.azurewebsites.net/api/Occupation/1" -H "accept: text/plain"
To calculate premium
Api endpoint: https://mypremiumcalculatorapi.azurewebsites.net/api/Calculator
Curl command: curl -X POST "https://mypremiumcalculatorapi.azurewebsites.net/api/Calculator" -H "accept: text/plain" -H "Content-Type: application/json" -d "{"name":"string","age":38,"dob":"05/01/1982","occupationID":1,"deathSumInsured":10000}"
UI project details
Url: https://mypremiumcalculatorweb.azurewebsites.net/
Solution details
PremiumCalculatorSolutions - Collection of all projects
PremiumCalculatorApi - API project using ASP.NET Core Web API 5.0 to provide resources to calculate premium.
PremiumCalculatorCore - Business object which are shared between all projects.
PremiumCalculatorService - Service layer which has core logic to calculate premium.
PremiumCalculatorWeb - UI project using ASP.NET Core MVC 5.0 which is integrated with API.
PremiumCalculatorTest - Test methods using Moq framework
Run application on local machine
To run the solution on local, set multiple project(PremiumCalculatorApi and PremiumCalculatorWeb) as startup.