Sign inSign up

flatecoding/clubtreasury

By flatecoding

•Updated 3 months ago

Web-based financial management for non-profit clubs — track income, expenses & generate reports.

Image
Languages & frameworks
Databases & storage
0

2.2K

flatecoding/clubtreasury repository overview

⁠Club Treasury

Web-based financial management system for non-profit clubs. Record income/expenses, generate PDF & Excel reports, and manage club finances transparently.

⁠Features

  • Income & expense management
  • PDF reports (QuestPDF) and Excel import/export
  • User & role management (ASP.NET Identity)
  • Modern Blazor UI (MudBlazor)

⁠Tech Stack

  • .NET 10 / ASP.NET Core Blazor
  • PostgreSQL (EF Core + Npgsql)
  • Serilog logging

⁠Tags

  • latest — most recent stable release

⁠Quick Start (docker compose)

services:
  postgres:
    image: postgres:17
    restart: always
    environment:
      POSTGRES_DB: ClubCash
      POSTGRES_USER: user
      POSTGRES_PASSWORD: YourSecureDbPassword
    volumes:
      - ./clubtreasury/postgres:/var/lib/postgresql/data

  webapp:
    image: flatecoding/clubtreasury:latest
    restart: always
    depends_on: [postgres]
    environment:
      ASPNETCORE_ENVIRONMENT: Production
      DbName: ClubCash
      DbUser: user
      DbPassword: YourSecureDbPassword
      ADMIN_USERNAME: admin
      ADMIN_EMAIL: [email protected]
      ADMIN_PASSWORD: YourSecureAdminPassword
    volumes:
      - ./clubtreasury/exports:/app/exports
      - ./clubtreasury/logs:/app/logs
    ports:
      - "8080:8080"

Then run:

docker compose up -d

The app is available at http://localhost:8080⁠.
Database migrationsrun automatically. The admin user is created on first launch when no users exist.

⁠Environment Variables
VariableDescription
ASPNETCORE_ENVIRONMENTSet to Production
DbNameDB name (matches POSTGRES_DB)
DbUserDB user (matches POSTGRES_USER)
DbPasswordDB password (matches POSTGRES_PASSWORD)
ADMIN_USERNAMEInitial admin username
ADMIN_EMAILInitial admin email
ADMIN_PASSWORDInitial admin password
⁠Volumes
  • /app/exports — generated PDF/Excel export
  • /app/logs — Serilog log files
⁠Ports
  • 8080 — HTTP
⁠Notes
  • Container locale is fixed to de_DE.UTF-8.
  • The DB host is resolved via Docker networking — use compose (or a shared Docker network) so the app can reach postgres.
⁠Documentation & Source
⁠License

EPPlus uses the Polyform NonCommercial license — commercial use
requires a separate license. See ThirdPartyLicenses.md in the repo.

Tag summary

Content type

Image

Digest

sha256:aaca69fec…

Size

235.5 MB

Last updated

3 months ago

docker pull flatecoding/clubtreasury