yep
This commit is contained in:
43
README.md
43
README.md
@@ -3,20 +3,45 @@ A web application for playing the Shogi boardgame with others, developed as a ho
|
||||
The application uses sockets to allow players to enjoy sessions in real time.
|
||||
|
||||
### Technologies used
|
||||
A Blazor UI backed by an Asp.net Core API service which uses Sql Server for presistent storage.
|
||||
|
||||
### Known Issues
|
||||
* The app is intended to support logging in via Microsoft accounts or browser-session (Guest) accounts, but currently Microsoft login does not work.
|
||||
* The workaround is to use the guest login.
|
||||
* On first load of the UI, guest account login will fail.
|
||||
* The workaround is to refresh the page and try again. This issue only happens on first load.
|
||||
A Blazor Web App which uses Sql Server for presistent storage and Identity EF Core for account management.
|
||||
|
||||
|
||||
### Roadmap of features remaining
|
||||
The app is not yet finished, though much of the functionality exists. Here is a list of what remains.
|
||||
|
||||
* Placing pieces from the hand onto the board.
|
||||
* Checkmate experience in UI
|
||||
* Checkmate experience
|
||||
* Preventing the rarely invoked rule where check-mate cannot be gained by placing a pawn from the hand.
|
||||
* Retaining an archive of games played and move history of each game.
|
||||
* Adaptive UI layout for varying viewport (screen) sizes.
|
||||
* Adaptive UI layout for varying viewport (screen) sizes.
|
||||
|
||||
### Database Setup
|
||||
If you don't have them, install the `Data storage and processing` tools through Visual Studio Installer. This gives you a local MSSQL database for you to develop with, which is nice so you aren't touching live data while working.
|
||||
|
||||
After that, you need to set up the database. The database has two sources of table structure.
|
||||
|
||||
#### 1. Shogi.Database project
|
||||
This project contains the table structure for the game.
|
||||
|
||||
1. Build the Shogi.Database project.
|
||||
1. Publish the Shogi.Database project (right click in Solution Explorer).
|
||||
* If you're prompted for a connection string, use the one from `Shogi/appsettings.json`.
|
||||
|
||||
#### 2. EntityFramework via AspNetCore.Identity
|
||||
This solution uses the `Microsoft.AspNetCore.Identity.EntityFrameworkCore` package to offer authentication and authorization. This uses Entity Framework, which comes with tools to setup our database with the necessary table structure for auth.
|
||||
|
||||
1. Install the Entity Framework dotnet tools that come with the project. Via Powershell run this command:
|
||||
```
|
||||
dotnet tool restore
|
||||
```
|
||||
1. Run the database migrations and fill out table structure for auth. Run this command from the MUD.Api project directory:
|
||||
```
|
||||
cd /path/to/solution/Shogi
|
||||
dotnet ef database update
|
||||
```
|
||||
|
||||
After this, you should be ready to create some test accounts for local development.
|
||||
|
||||
### Creating Test Accounts
|
||||
To create test accounts for local development, make sure to build in DEBUG mode and then use the `/debug/create-test-accounts` endpoint
|
||||
of the API. This will create two accounts. If those accounts already exist, they'll be deleted (along with all game session data associated) and recreated.
|
||||
Reference in New Issue
Block a user