Skip to content

TejeDesmoi/wargear-tracker

Repository files navigation

Wargear Tracker

Stop using Excel to track your pile of shame.

Wargear Tracker lets you manage your wargaming miniature collection and follow your painting progress army by army — from sprue to finished model. Share your progress with a public link, no login required for visitors.

Status License Stack

Armies dashboard


What it does

  • Track your armies — organize by game system and faction (40k, AoS, Bolt Action...)
  • Follow painting progress per unit: Unboxed → Built → Primed → Base Coat → Detailed → Finished
  • Manage your collection — add, update and delete units with full CRUD support
  • Share your progress — make any army public and get a shareable link, no login needed to view
  • Secure by default — JWT authentication on every personal endpoint

Army detail and painting progress


Try it live

A live demo was deployed and verified on Railway:

wargear-tracker-production.up.railway.app

The service is currently paused to avoid incurring costs on Railway's free trial. If you'd like to see it live, open an issue and I'll reactivate it temporarily.

Public army page


Getting started

Requirements

Run with Docker (recommended)

git clone https://github.com/TejeDesmoi/wargear-tracker.git
cd wargear-tracker
docker compose up --build

API available at http://localhost:8080. Swagger UI at /swagger.

Run the frontend

dotnet run --project src/WargearTracker.Web

Blazor app available at the URL shown in the terminal (typically http://localhost:5241).

Run without Docker

# Requires a local PostgreSQL instance
dotnet ef database update \
  --project src/WargearTracker.Data \
  --startup-project src/WargearTracker.Api

dotnet run --project src/WargearTracker.Api

API endpoints

Method Endpoint Auth Description
POST /api/auth/register No Create a new account
POST /api/auth/login No Get a JWT token
GET /armies Yes List your armies
POST /armies Yes Create a new army
GET /armies/{id} Yes Get a single army
DELETE /armies/{id} Yes Delete an army
PATCH /armies/{id}/visibility Yes Make an army public or private
GET /armies/public/{slug} No View a public army (shareable)
GET /armies/{armyId}/miniatures Yes List miniatures in an army
POST /miniatures Yes Add a miniature
PATCH /miniatures/{id}/status Yes Update paint status
DELETE /miniatures/{id} Yes Delete a miniature

Frontend routes

Route Description
/login Sign in
/register Create an account
/armies Your army dashboard
/armies/{id} Army detail and miniature management
/p/{slug} Public army page (no login required)

Project structure

wargear-tracker/
├── src/
│   ├── WargearTracker.Core/     # Entities, enums — no external dependencies
│   ├── WargearTracker.Data/     # EF Core DbContext, migrations
│   ├── WargearTracker.Api/      # ASP.NET Core Minimal API + Swagger + JWT
│   └── WargearTracker.Web/      # Blazor WebAssembly frontend
├── tests/
│   └── WargearTracker.Tests/
├── .github/
│   ├── workflows/                # CI pipeline
│   ├── ISSUE_TEMPLATE/
│   └── pull_request_template.md
├── Dockerfile
├── docker-compose.yml
└── README.md

Roadmap

Phase 1 — Local MVP ✅

  • Solution structure and project setup
  • Core domain entities (Army, Miniature, PaintStatus)
  • EF Core + SQLite + migrations
  • Army CRUD endpoints
  • Miniature CRUD endpoints
  • Swagger UI

Phase 2 — Deploy and community ✅

  • JWT authentication (register + login)
  • Migrate to PostgreSQL + Docker
  • Public shareable link per army
  • Blazor WebAssembly frontend
  • CI with GitHub Actions
  • Deploy to Railway (verified, currently paused)

Phase 3 — Community features

  • Wahapedia integration (army list points)
  • Spending tracker per army
  • Community statistics
  • Internal game/faction/miniature catalogue with dropdowns

Built with

Layer Technology
API ASP.NET Core 10 — Minimal API
Auth JWT Bearer + BCrypt
ORM Entity Framework Core 10
Database PostgreSQL (Docker)
Frontend Blazor WebAssembly
Docs Swashbuckle / Swagger UI
CI/CD GitHub Actions + Railway

Contributing

This is a personal project but issues and suggestions are welcome.
If you find it useful, consider supporting it on Ko-fi.


License

MIT

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors