demo_frontend_2 (public demo)
  • C# 54.6%
  • TypeScript 31%
  • JavaScript 9.9%
  • CSS 2.3%
  • Dockerfile 1.7%
  • Other 0.5%
Find a file
2026-02-23 22:40:24 +01:00
.config chore: add formatting tools + docs 2026-02-23 22:10:03 +01:00
backend backend: allow localhost CORS for dev ports 2026-02-23 22:34:32 +01:00
docs/Tasks e2e: add puppeteer smoke test + screenshots 2026-02-23 22:40:24 +01:00
frontend e2e: add puppeteer smoke test + screenshots 2026-02-23 22:40:24 +01:00
scripts tests: add backend tests + LOC check 2026-02-23 21:47:15 +01:00
.gitignore e2e: add puppeteer smoke test + screenshots 2026-02-23 22:40:24 +01:00
compose.override.yml docker: allow dev port overrides 2026-02-23 21:50:38 +01:00
compose.prod.yml docker: add compose dev/prod 2026-02-23 21:37:21 +01:00
compose.yml docker: parameterize VITE_API_BASE_URL for dev 2026-02-23 22:15:15 +01:00
demo_frontend_2.sln backend: badges API + EF Core schema 2026-02-23 21:31:24 +01:00
README.md chore: add formatting tools + docs 2026-02-23 22:10:03 +01:00

ErfolgsArchiv (Demo)

Badge/Achievements dashboard demo with an ASP.NET Core Minimal API backend and a Vite/React frontend.

Repo layout

  • backend/src/ .NET API + tests
  • frontend/src/ React app + tests

Dev (hot reload):

  • docker compose -f compose.yml -f compose.override.yml up -d --build
  • Frontend: http://localhost:5173
  • API: http://localhost:8080/swagger

If ports are already taken, override them:

  • cmd /c "set WEB_PORT=5174&& set API_PORT=8081&& docker compose -f compose.yml -f compose.override.yml up -d --build"

Stop:

  • docker compose -f compose.yml -f compose.override.yml down

Prod-like:

  • docker compose -f compose.prod.yml up -d --build
  • Frontend: http://localhost:5173
  • API: http://localhost:8080/swagger

Backend (local)

  • dotnet run --project backend/src/Api/Api.csproj

Endpoints:

  • GET /api/v1/badges/overview
  • POST /api/v1/badges/{badgeId}/unlock
  • POST /api/v1/badges/reset

Database migrations

Development:

  • By default, the API runs migrations + seeds demo data on startup (see Db:InitOnStartup in backend/src/Api/Program.cs).

Create a migration:

  • dotnet ef migrations add <Name> --project backend/src/Api/Api.csproj --output-dir Infrastructure/Db/Migrations --context Api.Infrastructure.Db.AppDbContext

Apply migrations:

  • dotnet ef database update --project backend/src/Api/Api.csproj --context Api.Infrastructure.Db.AppDbContext

Production:

  • Db:InitOnStartup defaults to false; run migrations explicitly (command above) or add a one-off migrator job/container.

Quality checks

Backend tests:

  • dotnet test demo_frontend_2.sln

Backend formatting:

  • dotnet tool restore
  • dotnet tool run dotnet-format

Frontend:

  • cd frontend
  • npm run build
  • npm run test:run
  • npm run lint
  • npm run format:check

LOC limit (500 lines max per source file):

  • npm run check:loc