Jan Remmer Siebels ca3bf0f296 fix: Use bound fields in rights management system
- Replace raw field objects with bound fields in get_permission_groups()
- Bound fields render properly as HTML checkboxes in templates
- Fixes display of Django field object strings instead of actual form inputs
- Rights management system now shows proper checkboxes with permission names
2025-10-05 23:03:56 +02:00

Stiftung Application

A## 🏃‍♂️ Quick Start

Development Environment

For local development, use the development Docker Compose configuration:

# 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

# 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 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

# 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
Description
Stiftung Management System - migrated from GitHub
Readme 43 MiB
Languages
HTML 53.4%
Python 44.6%
Shell 1.6%
JavaScript 0.4%