Skip to content

Character management web application for Live Action Role-Playing games

Notifications You must be signed in to change notification settings

maragnus/LarpDev

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LARP Landing

Build and Push via Docker

Introduction

Formerly called Mystwood Landing, LARP Landing is a web application that hosts characters for LARP games. This revision is redesigned to utilize MongoDB (opposed to TSQL) and support additional games and editions (both Mystwood 5e and Mystwood 2).

Explicit Open Source Dependencies

These projects are explicitly (intentionally selected) dependencies of this application. They may not include all implicitly included dependencies by these projects.

  • ASP.NET Core 6.0 provides the framework for the server-side application written in C#
  • Blazor is a feature of ASP.NET for building interactive web UIs using C# instead of JavaScript. It's real .NET running in the browser on WebAssembly.
  • MudBlazor is the component library for the front-end
  • MongoDB provides server-side database
  • Moq provides mocking writing C# unit tests
  • EPPlus reads and writes Excel workbooks

Components

cs/Larp.Common

This library contains utilities and structures common to other assemblies. Classes should be common to two or more other assemblies to be present here.

cs/Larp.Data

This library represents the MongoDb data and any services that exist entirely within the data. Common and game-specific objects are represented here.

LarpContext should be configured with LarpDataOptions for a MongoDb connection string and database name.

LarpContext represents data structures common to all support games LarpContext.FifthEdition represents Mystwood 5th Edition data structures.

cs/Larp.Data.Seeder

This library is responsible for seeding production game data into the database. It should be called on application startup and for test fixtures. cs/Larp.Data.Seeder/LarpData.json contains all data that will be imported

cs/Larp.Data.TestFixture

This library creates a test MongoDb using Mongo2Go and optionally seeds the database. The LarpDataTestFixture class should be Disposed after a test is run.

cs/Larp.Landing.Server

This ASP.NET application contains the business logic for translating RESTful API calls to MongoDb, validating character submissions, and authentication.

It also hosts the client-side application

cs/Larp.Landing.Client

This Blazor web application that runs WASM in the browser.

cs/Larp.Landing.Shared

Common structures used for communication between the client and server.

eng

This directory is used for engineering scripts

About

Character management web application for Live Action Role-Playing games

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published