# Stiftung Application A## πŸƒβ€β™‚οΈ Quick Start ### Development Environment For local development, use the development Docker Compose configuration: ```bash # Start development environment (uses hardcoded dev settings) docker-compose -f compose.dev.yml up -d # Run migrations docker-compose -f compose.dev.yml exec web python manage.py migrate # Create superuser docker-compose -f compose.dev.yml exec web python manage.py createsuperuser # Access applications # - Django: http://localhost:8081 # - Paperless: http://localhost:8082 # - Database: localhost:5433 ``` ### Production Deployment Production deployment uses the main `compose.yml` and is handled automatically via GitHub Actions. The production environment reads configuration from the server's `.env` file (not included in the repository for security). ## πŸ—οΈ Architecturengo-based foundation management system with modern features and automated deployment. ## 🌟 Features - **DestinatΓ€r Management**: Track beneficiaries and their support - **FΓΆrderung System**: Manage grants and funding with enhanced search - **HelpBox System**: Editable info boxes with Markdown support on all creation pages - **PDF Exports**: Generate comprehensive reports - **Land Management**: Track properties and lease agreements - **Backup & Restore**: Automated backup system with UI - **User Management**: Role-based access control - **Audit Trail**: Track all changes ## πŸ†• New Features (v2.0) - βœ… **HelpBox System**: Interactive help on all "New" entity creation pages - βœ… **Central HelpBox Management**: Admin interface at `/help-box/admin/` - βœ… **Enhanced FΓΆrderung Search**: Improved search functionality - βœ… **Template Cleanup**: Automated orphaned recurring payment handling - βœ… **Bootstrap Layout Fixes**: Resolved grid alignment issues ## πŸš€ Quick Start ### Development Setup ```bash # Clone repository git clone https://github.com/remmerinio/stiftung-management-system.git cd stiftung-management-system # Start development environment (isolated from production) docker-compose -f compose.dev.yml up -d # Create superuser docker-compose -f compose.dev.yml exec web python manage.py createsuperuser # Access application open http://localhost:8081 # Django app open http://localhost:8080 # Paperless-ngx (admin/admin123) ``` ### Production Deployment Production uses automated deployment via GitHub Actions. The production environment has its own `.env` file with secure credentials that is not stored in Git. **For Production:** - Environment variables are configured on the server - HTTPS is enabled with Let's Encrypt certificates - Database users are manually configured for security - Automated deployments preserve manual configurations See [deployment documentation](deploy-production/MIGRATION_PLAN.md) for complete setup instructions. ## πŸ“ Project Structure ``` stiftung-starter/ β”œβ”€β”€ app/ # Django application β”‚ β”œβ”€β”€ core/ # Django project settings β”‚ β”œβ”€β”€ stiftung/ # Main app β”‚ β”‚ β”œβ”€β”€ models.py # Data models (including HelpBox) β”‚ β”‚ β”œβ”€β”€ views.py # Views and API endpoints β”‚ β”‚ β”œβ”€β”€ admin.py # Django admin customization β”‚ β”‚ β”œβ”€β”€ templatetags/ # Custom template tags (help_tags) β”‚ β”‚ └── utils/ # Utility functions β”‚ β”œβ”€β”€ templates/ # HTML templates β”‚ β”‚ └── stiftung/ β”‚ β”‚ β”œβ”€β”€ help_box.html # HelpBox component β”‚ β”‚ └── *_form.html # Creation forms with help boxes β”‚ └── requirements.txt # Python dependencies β”œβ”€β”€ deploy-production/ # Production deployment files β”œβ”€β”€ deploy-synology/ # Synology NAS deployment (legacy) └── docs/ # Documentation ``` ## πŸ› οΈ Development Workflow ### 1. Feature Development ```bash # Create feature branch git checkout -b feature/your-feature-name # Make your changes # ... edit files ... # Test locally docker-compose up -d # Commit changes git add . git commit -m "feat: add your feature description" # Push to GitHub git push origin feature/your-feature-name ```