-
Visual Studio 2017
-
ASP.NET Core 2.0
- Build solution
- Start w/ or w/o debugging with IIS Express on Visual Studio
- Navigate to http://localhost:54578/help/documentation to test the APIs using Swagger UI
- Docker - Untested on Docker client & Server 17.04.0-ce
- Onion Architecture
-
Actor Model using Akka.Net
Akka.Net is great about building high speed, scalable and resilient micro-services, by using actor model and passing messages between actors.
- Autorest to generate clients SDK
- Swashbuckle which combines ApiExplorer and Swagger/swagger-ui to provide a rich discovery, documentation and playground experience to your API consumers (https://github.com/domaindrivendev/Swashbuckle)
- Native .NET Core Dependency Injection
- Actor model with supervision
Swagger UI path: [localhost]/help/documentation
Method: POST
URI: api/basket
Method: GET
URI: api/basket/{customerId}
Method: PUT
URI: api/basket/update
Method: DELETE
URI: api/basket/remove
Method: GET
URI: api/product
Method: GET
URI: api/product/{id}
-
Product stocks is updated when items in basket, quantity are updated/deleted
-
Include few unit tests of the client sdk only (http status codes)
-
APIs testing can be done using the Swagger UI: http://localhost:54578/help/documentation
-
The system uses a hard-corded sample product catalog. All is in-memory and is lost after the application stops
-
Customers already have an account on the system
-
The system uses customer id as reference to update basket rather than cookies when browsing anonymously