Fun showcase of software architecture presented as a game yet inspired by domain driven design.
public class WelcomeCaptainAboard : IWhen<PlayerSignedIn>
{
readonly IPlayerService playerService;
public WelcomeCaptainAboard(IPlayerService playerService)
{
this.playerService = playerService;
}
public async Task Handle(PlayerSignedIn @event)
{
await playerService.BoardShip(@event.Player);
}
}
- Install .NET Core SDK.
- Install Node.js.
- Install yarn.
- Clone this repo to your local machine.
Open a terminal in the folder where the repository is cloned.
dotnet restore
Then type:
cd StarCommander
cd ClientApp
yarn install
cd ..
In the 'StarCommander' sub-folder, type:
dotnet watch run
Open https://localhost:5001 in a web browser.
Is Star Commander a game?
No, the game element provides an interesting and well known domain that has no bearing on any real project I have ever worked on. Here, the problem space is...space!