Digitaler Mitgliedsantrag für Feuerwehrverein mit Flatfile-Speicherung und Admin-Backend.
index.php + assets/js/form.jsapi/load-draft.phpapi/save-draft.phpapi/submit.phpapi/reset.phpadmin/login.phpadmin/index.phpadmin/application.phpadmin/download.phpadmin/download-zip.phpadmin/delete.phpsrc/storage/jsonstore.phpsrc/storage/fileuploadstore.phpsrc/form/validator.phpsrc/security/csrf.phpsrc/security/ratelimiter.phpsrc/mail/mailer.php (HTML-Mails + PDF-Anhänge)src/mail/mimemailbuilder.php (MIME-Mails via nativer mail()-Funktion)src/mail/pdfgenerator.php (FPDF, Antrags- und Anlagen-PDFs)src/mail/submissionformatter.php (Formulardaten für Mail/PDF aufbereiten)lib/fpdf/ — FPDF 1.86, einzelne Klasse + Schrift-Metrikenload-draft prüft zuerst Submission (Unique-Constraint), dann Draft.save-draft; Uploads werden zusätzlich sofort nach Dateiauswahl hochgeladen.storage/uploads/{application_key}/{field}/{rand8}/{original_filename} geschrieben.submit führt atomaren Lock + Validierung + Submission + Mailversand aus.mod_rewrite.AllowOverride All muss aktiv sein, damit die Root-.htaccess greift..htaccess blockiert.config/form_schema.phpconfig/form_schema.php (required / required_if)config/app.local.php + optional pro Feld im Schemaconfig/app.local.php + admin/auth.phpconfig/mail.local.php + src/mail/mailer.phpconfig/app.local.php + Cron admin/cleanup.phpconfig/app.local.php -> rate_limit (Details: docs/rate_limiting.md)config/app.local.php -> disclaimer + index.phpconfig/app.sample.php, config/mail.sample.phpconfig/app.local.php, config/mail.local.phplib/.