2026-01-15 22:53:07 -06:00
2025-12-22 11:44:06 -06:00
yep
2026-01-15 20:06:01 -06:00
yep
2026-01-13 23:21:23 -06:00
2024-09-26 21:11:47 -05:00
2026-01-14 20:36:38 -06:00
yep
2026-01-15 22:53:07 -06:00
2025-12-22 11:44:06 -06:00
yep
2026-01-15 20:06:01 -06:00
yep
2026-01-15 20:06:01 -06:00

Shogi

A web application for playing the Shogi boardgame with others, developed as a hobby and hosted at https://lucaserver.space/shogi/
The application uses sockets to allow players to enjoy sessions in real time.

Technologies used

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
  • 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.

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.
  2. 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
    
  2. 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.

Description
No description provided
Readme 1.4 MiB
Languages
HTML 69.7%
C# 27.7%
CSS 2.2%
TSQL 0.4%