Chestlify ist eine moderne Full-Stack-Webanwendung zur Verwaltung von Gruppenfinanzen. Ursprünglich für die Organisation von Abi-Kassen entwickelt, bietet Chestlify eine flexible Architektur, um die Finanzen von Vereinen, WGs, Reisekassen und anderen Kollektiven sicher, transparent und effizient zu verwalten.
https://www.chestlify.com
- JavaScript 79.3%
- PHP 12.2%
- Blade 7.8%
- CSS 0.7%
| .forgejo/workflows | ||
| app | ||
| bootstrap | ||
| config | ||
| database | ||
| docs | ||
| public | ||
| resources | ||
| routes | ||
| storage | ||
| tests | ||
| .editorconfig | ||
| .env.example | ||
| .gitattributes | ||
| .gitignore | ||
| artisan | ||
| composer.json | ||
| composer.lock | ||
| deploy.php | ||
| package-lock.json | ||
| package.json | ||
| phpstan.neon | ||
| phpunit.xml | ||
| pint.json | ||
| README.md | ||
| rector.php | ||
| vite.config.js | ||
Abi 2027 - Klassenkasse & Finanzverwaltung
Ein modernes Backend zur Verwaltung der Abikasse, gebaut mit Laravel 12 und Filament 3.
Tech Stack
| Schicht | Technologie | Version |
|---|---|---|
| Backend | Laravel | 12 |
| Admin UI | Filament | 3.2 |
| Reactivity | Livewire | 3.7 |
| Frontend | Tailwind CSS + Vite | 4 + 7 |
| Rollen | Spatie Permission + Filament Shield | - |
| Kalender | Filament Fullcalendar | 3.2 |
| Laravel Snappy | 1.0 | |
| Desktop | NativePHP | 1.3 |
Features
- Finanzverwaltung: Mehrere Bankkonten, Einnahmen & Ausgaben, Kategorisierung, PDF-Export
- Kalender & Events: FullCalendar-Integration, Quick-Add, Verknuepfung mit Transaktionen
- Team-Verwaltung: Multi-Team-Support mit Daten-Isolation pro Klasse/Jahrgang
- Rollen & Rechte: Super Admin, Admin, Kassenwart, Beobachter (via Filament Shield)
- Einladungssystem: Token-basierte Benutzereinladungen per E-Mail
- Zwei-Faktor-Authentifizierung: 6-stellige Codes mit Ablaufzeit
- App-Branding: Login-Seite und Dashboard pro Team anpassbar
- Dashboard-Widgets: Kontostand, Einnahmen/Ausgaben, Termine, Mini-Kalender, Event-Umsatz-Chart
Voraussetzungen
- PHP 8.3+
- Composer
- Node.js 20+ / npm
- DDEV (empfohlen) oder MariaDB/MySQL
- Docker Desktop (fuer DDEV)
Installation
# Repository klonen
git clone <repository-url> abi-2027
cd abi-2027
# Abhaengigkeiten installieren
composer install
npm install
# Umgebung konfigurieren
cp .env.example .env
php artisan key:generate
# Datenbank migrieren & Demo-Daten laden
php artisan migrate --seed
# Storage-Link setzen
php artisan storage:link
# Frontend bauen
npm run build
Mit DDEV
ddev start
ddev composer install
ddev npm install && ddev npm run build
ddev artisan migrate:fresh --seed
ddev artisan storage:link
Development
# Dev-Server starten (Vite + Artisan + Queue + Logs)
composer dev
# Oder einzeln:
php artisan serve
npm run dev
Demo-Zugaenge
| Rolle | Passwort | |
|---|---|---|
| Super Admin | admin@abi2027.de |
password |
| Kassenwart | kasse@abi2027.de |
password |
| Beobachter | view@abi2027.de |
password |
Admin Panel: http://localhost:8000/admin (oder https://abi-2027.ddev.site/admin mit DDEV)
Code Quality
# Code-Style pruefen (Laravel Pint)
composer pint:check
# Code-Style automatisch fixen
composer pint
# Statische Analyse (PHPStan Level 5)
composer phpstan
# Rector (Code-Modernisierung) - Vorschau
composer rector:check
# Rector ausfuehren
composer rector
# Tests ausfuehren (Pest)
composer test
# Tests parallel ausfuehren
composer test:parallel
# Alle Checks auf einmal
composer ci
Rollen & Rechte
Die Berechtigungen werden ueber Filament Shield verwaltet:
- Super Admin: Voller Zugriff auf alles inkl. App-Einstellungen
- Admin: Kann Nutzer verwalten, aber keine System-Settings
- Kassenwart: Darf Buchungen anlegen, editieren und loeschen
- Beobachter: Nur Lesezugriff (Read-Only)
Projektstruktur
app/
├── Filament/
│ ├── Pages/ # Dashboard, AppSettings, Auth, Kalender
│ ├── Resources/ # CRUD fuer alle Models
│ └── Widgets/ # Dashboard-Widgets
├── Http/
│ ├── Controllers/ # InvitationController
│ └── Middleware/ # 2FA, Password-Check
├── Models/ # User, Team, Transaction, BankAccount, Category, Event, AppSetting
├── Notifications/ # Einladung, 2FA-Code
└── Policies/ # RolePolicy
database/
├── factories/ # Model Factories fuer Tests
├── migrations/ # 16 Migrations
└── seeders/ # Demo-Daten, Shield-Seeder
tests/
├── Unit/Models/ # Model-Tests
└── Feature/ # Auth, Filament-Resources, Middleware
Deployment
Das Projekt verwendet PHP Deployer fuer Zero-Downtime-Deployments. Siehe deploy.php fuer die Konfiguration.
# Erster Deploy (Setup)
dep deploy:setup production
# Deployment
dep deploy production
# Rollback
dep rollback production
CI/CD
Die CI-Pipeline (.forgejo/workflows/ci.yml) prueft bei jedem Push/PR:
- Code Quality: Pint, PHPStan, Rector
- Tests: Pest mit MariaDB
- Frontend: npm build
Lizenz
Proprietaer - Alle Rechte vorbehalten.