Skip to content

Repository files navigation

Base48 Member Portal

Členský portál brněnského hackerspace Base48.

Funkce

  • Keycloak OIDC autentizace
  • Automatické stahování a párování plateb z FIO Banky
  • Automatická správa měsíčních členských příspěvků
  • QR platební kódy
  • Fundraising projekty
  • Admin rozhraní pro správu uživatelů, plateb a fundraisingu

Rychlý start

make setup      # Závislosti + .env
make db-init    # Inicializace DB
nano .env       # Nastavení konfigurace
make sqlc       # Generování SQL kódu
make run        # Spuštění serveru

Server běží na http://localhost:4848

Požadavky

  • Go 1.24+
  • Keycloak server
  • SQLite3 CLI

Vývoj

make dev        # Hot reload (air)
make build-all  # Build všech binárků
make test       # Testy
make help       # Všechny příkazy

Cron úlohy

portal-cron daemon   # Vše na jednom místě (sync á 2 min, poplatky 1. v měsíci)
portal-cron sync     # Synchronizace plateb + role sync (každé 2 min)
portal-cron fees     # Měsíční poplatky (1. den v měsíci)
portal-cron report   # Report nespárovaných plateb (ad-hoc)

Nasazení

Produkce jede přes Ansible z privátního repa base48/servers-config-ng (playbook potřebuje vault se secrets, tohle repo je veřejné):

cd <servers-config-ng>
ansible-playbook -i phoenix, member-portal/playbooks/deploy.yaml --ask-vault-pass

Ručně (dev, nebo fallback na hostu):

cp .env.example .env && $EDITOR .env
docker compose up -d --build

Stack je app-only — TLS a vhosty zůstávají na reverse proxy hostu.

RevBank (bar kiosek)

Integrace s RevBank kioskem. Sync script: contrib/revbank-sync.sh — běží na kiosku via cron, pushuje data do portálu.

Detaily: docs/REVBANK_INTEGRATION.md

Dokumentace

About

No description, website, or topics provided.

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages