Jan Remmer Siebels 6aa218004c Implement advance payment schedule for quarterly payments
BREAKING CHANGE: Payment due dates now follow advance payment schedule:
- Q1 payments: Due December 15 of previous year
- Q2 payments: Due March 15 of same year
- Q3 payments: Due June 15 of same year
- Q4 payments: Due September 15 of same year

Changes:
- Updated create_quarterly_support_payment() to use advance schedule
- Enhanced diagnostic commands to check advance payment dates
- Added fix_advance_payment_dates command for comprehensive fixes
- Updated fix_q4_payment_dates to correct Q4 from 31.12 to 15.09

This aligns with semester-based document submissions while maintaining
the advance payment system where payments are made before each quarter.
2025-10-01 12:04:34 +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%