First checkout the repo and enter the root folder of this repo using some CLI.
To run the app:
$> cd src
$> cd ins-tech-frontend-coding-task-blazor
$> dotnet runIn the browser go to http://localhost:5238/
To run the tests:
$> cd tests
$> cd ins-tech-frontend-coding-task-blazor.Tests
$> dotnet test- Drag&Drop vessel from the 'Vessels pool' to 'Anchorage' (from right to left)
- To rotate the vessel double-click it in the 'Vessels pool'
- To remove vessel from the 'Anchorage' back to the 'Vessels pool' drag&drop it somewhere outside the 'Anchorage' grid.
src/ins-tech-frontend-coding-task-blazor/Pages/Index.razor- implements the main pagesrc/ins-tech-frontend-coding-task-blazor/Components/AnchorageArea.razor- implements Anchorage grid componentsrc/ins-tech-frontend-coding-task-blazor/Components/VesselPool.razor- implements the list of all vesselssrc/ins-tech-frontend-coding-task-blazor/Components/VesselCard.razor- implements individual vessel card componentsrc/ins-tech-frontend-coding-task-blazor/Services/BoardState.cs- implements game core logic and state between componentssrc/ins-tech-frontend-coding-task-blazor/Services/FleetApiClient.cs- implements api service. I use public proxy to avoid CORS issues - so the url I call is https://proxy.corsfix.com/?https://esa.instech.no/api/fleets/random instead of direct one https://esa.instech.no/api/fleets/randomsrc/ins-tech-frontend-coding-task-blazor/Models/BoardModels.cs- contains board model objectssrc/ins-tech-frontend-coding-task-blazor/Models/ApiModels.cs- contains api model objects