AzuTear 3794b7f29e
CI - Build & Verify / Build, Typecheck & Hygiene (push) Successful in 55s
CI - Build & Verify / Deploy to award.noveria.net (push) Failing after 1m29s
Free deploy disk headroom before migrations
2026-06-29 18:13:19 +02:00
2026-06-29 18:10:02 +02:00
2026-06-28 23:31:52 +02:00

VTuber Star Awards

Production monorepo for the VTuber Star Awards platform.

Stack

  • Frontend: Vue 3, Vite, Pinia, Tailwind CSS, PrimeVue, lucide icons
  • Backend: ASP.NET Core 8, EF Core 8, PostgreSQL
  • Delivery: Gitea Actions, Docker Compose, Nginx-served frontend, ASP.NET API

Repository Structure

  • frontend/ Vue application and public assets
  • Backend/ ASP.NET Core API, EF Core migrations, services and endpoints
  • .gitea/workflows/ci.yaml build, hygiene, deploy and live verification pipeline
  • docs/PROJECT.md project facts, runtime expectations and documentation map
  • docs/ARCHITECTURE.md system structure, source-of-truth and deployment flow
  • docs/CONVENTIONS.md coding, validation, review and documentation standards
  • docs/DECISIONS.md durable architecture and operations decisions
  • docker-compose.dev.yml optional local PostgreSQL container for development

Generated archives, prototype exports, Word handoff files and local document-update scripts are intentionally ignored and should not be committed.

Engineering Docs

Start with:

Local Development

Start the database:

docker compose -f docker-compose.dev.yml up -d

Run the backend:

cd Backend
dotnet restore
dotnet ef database update
ASPNETCORE_ENVIRONMENT=Development dotnet run --urls http://127.0.0.1:5084

Run the frontend:

cd frontend
npm ci
cp .env.example .env
npm run dev

Default development database:

Host=localhost;Port=5433;Database=vtuber_star_awards_dev;Username=vtsa_dev;Password=change-me-local-only

The same defaults live in Backend/appsettings.Development.json. For non-local environments, set VTSA_POSTGRES or ConnectionStrings__Postgres.

Useful Endpoints

  • Public API: /api/public/*
  • Admin dashboard: /api/admin/dashboard
  • Admin moderation and risk workflows: /api/admin/*
  • Sessions and auth: /api/auth/*
  • App health: /api/health
  • Database health and migrations: /api/health/database

Development admin session example:

curl -X POST http://localhost:5084/api/auth/dev-login \
  -H "Content-Type: application/json" \
  -d '{"twitchUserId":"jayuhime_demo","displayName":"Jayuhime","role":"admin"}'

Validation

Run these before pushing application changes:

cd frontend
npm run build

cd ..
dotnet build Backend/Backend.csproj --configuration Release
git diff --check

Deployment

Pushes to main run .gitea/workflows/ci.yaml.

The pipeline:

  1. Checks repository hygiene.
  2. Builds the backend and frontend.
  3. Syncs the repository to the production host.
  4. Builds and recreates the Docker Compose api and web services.
  5. Writes a PostgreSQL predeploy backup.
  6. Applies EF Core migrations.
  7. Verifies live health, database connectivity and frontend assets.

Production runs at https://award.noveria.net.

See docs/release-process.md for release readiness, smoke tests and rollback expectations.

S
Description
No description provided
Readme 111 MiB
Languages
Vue 38.8%
C# 36.5%
TypeScript 20.6%
CSS 3.9%
Shell 0.2%