A comprehensive Laravel-based application for managing club operations, events, members, and communications.
- Event Calendar - Visual calendar view with event overview
- Event Types - Categorize events with custom types
- Event Statistics - Track attendance and participation
- iCalendar Export - Export events to calendar applications
- JSON/Excel/CSV Export - Export event data in multiple formats
- Member Directory - Comprehensive member database
- Member Groups - Organize members into groups
- Member Import - Bulk import members from external sources
- Member Statistics - Analyze member data and trends
- Attendance Recording - Track member attendance at events
- Attendance Polls - Create polls for event participation
- Public Poll Links - Share polls with members via public URLs
- Attendance Statistics - Generate reports and analytics
- News Management - Create and publish news articles
- Web Push Notifications - Send real-time notifications to members
- Email Notifications - Automated email communication system
- Contract Management - Manage sponsoring contracts
- Sponsor Tracking - Keep track of sponsors and agreements
- Role-Based Permissions - Fine-grained access control system
- Multi-Factor Authentication - OAuth integration (Google, Authentik)
- User Permissions - Customizable permission system
- Welcome Notifications - Automated onboarding for new users
- System Configuration - Flexible configuration management
- Multi-Language Support - Currently supports German (extensible)
- File Management - Upload and manage files with access control
- Backup System - Automated backup functionality (via Spatie Backup)
- Livewire Components - Modern, reactive UI components
- Responsive Design - Mobile-friendly interface built with Tailwind CSS
- RESTful API - JSON API for integrations
- Task Scheduler - Automated background jobs
- Error Tracking - Sentry integration for error monitoring
- Docker & Docker Compose
- PHP 8.1 or higher (for local development without Docker)
- Composer (for initial setup)
- Node.js & NPM (for asset compilation)
For detailed setup instructions, deployment guides, and Docker configuration, see the Docker Documentation.
# Clone the repository
git clone https://github.com/danielraab/club-manager.git
cd club-manager
# Copy environment file
cp .env.example .env
# Configure user permissions
echo "WWWUSER=$(id -u)" >> .env
echo "WWWGROUP=$(id -g)" >> .env
# Install dependencies
docker run --rm \
-u "$(id -u):$(id -g)" \
-v "$(pwd):/var/www/html" \
-w /var/www/html \
laravelsail/php83-composer:latest \
composer install --ignore-platform-reqs
# Start the application
export SAIL_FILES=docker/development/docker-compose.yml
./vendor/bin/sail up -d
# Setup the application
./vendor/bin/sail artisan key:generate
./vendor/bin/sail artisan migrate --seed
./vendor/bin/sail artisan storage:link
./vendor/bin/sail artisan webpush:vapid
./vendor/bin/sail npm install
./vendor/bin/sail npm run devThe application will be available at http://localhost (or configured APP_PORT).
Production setup uses pre-built Docker images from GitHub Container Registry. See the Docker Production Guide for complete deployment instructions.
- Docker Setup & Deployment - Complete Docker documentation for development and production
- Development Environment - Laravel Sail setup and development workflow
- Production Deployment - Production Docker configuration and deployment
./vendor/bin/sail test# Check code style
./vendor/bin/sail pint --test -vvv
# Fix code style
./vendor/bin/sail pint# Create admin user
./vendor/bin/sail artisan app:register-admin-user
# Run migrations
./vendor/bin/sail artisan migrate
# Seed database
./vendor/bin/sail artisan db:seed
# Clear caches
./vendor/bin/sail artisan cache:clear
./vendor/bin/sail artisan config:clear
./vendor/bin/sail artisan route:clear
./vendor/bin/sail artisan view:clear
# Run scheduled tasks manually
./vendor/bin/sail artisan schedule:testContributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Built with:
- Laravel - The PHP Framework for Web Artisans
- Livewire - A full-stack framework for Laravel
- Tailwind CSS - A utility-first CSS framework
- Alpine.js - A rugged, minimal framework for composing JavaScript behavior
For issues, questions, or contributions, please use the GitHub Issues page.