Shopping Portal
Usecases implemented:
- List available products to guest users
- Basic UI to allow a guest user to add products to cart
- Basic Cart view to
- remove cart items
- change currencies
- calculate shipping cost
- allow guest user to place order
- Order confirmation page
Unit tetsing in Backend and Frontend to demonstrate my Unit tetsing skills but I have not written tests for all scenarios due to time factor. Some of Backedn classes with unitests: OrderControllerTests, ProductControllerTests, OrderServiceTests, ProductServiceTests Some of UI components with unittests: nav-menu.component.spec.ts, product.component.spec.ts,app.component.spec, session-storage.service.spec.ts, http-client.service.spec.ts, shopping-cart.service.spec.ts, product.service.spec.ts, checkout.service.spec.ts
Features I thought to add but couldn't due to time factor
- 100% unit test coverage
- Allow user to signup & login & Authorize the endpoint
- Store Order details in Database
- Display spinner on Http calls
- Handle http errors and display friendly message on screen
- UX improvements
Steps to Run application: use git clone to clone the project to the local folder
Using Visual Studio: Just Run/hit f5 to launch the application browser(This will take long for the first time to pull packages for UI and Backend)
Using command line:
Change directory to Ram.CodingTests.MyShop.CSProj folder
- Use 'Dotnet Build' to restore and build the app.
- Use Dotnet run to launch the app
- Navigate to the serving url