| .. | ||
| admin-bootstrap-and-oidc-role-sync.md | ||
| badge-wcag-phase1-analysis.md | ||
| csv-member-import-v1.md | ||
| custom-fields-search-performance.md | ||
| daisyui-drawer-pattern.md | ||
| database-schema-readme.md | ||
| database_schema.dbml | ||
| development-progress-log.md | ||
| email-layout-mockup.md | ||
| email-sync.md | ||
| email-validation.md | ||
| feature-roadmap.md | ||
| groups-architecture.md | ||
| membership-fee-architecture.md | ||
| membership-fee-overview.md | ||
| oidc-account-linking.md | ||
| onboarding-join-concept.md | ||
| page-permission-route-coverage.md | ||
| pdf-generation-imprintor.md | ||
| policy-bypass-vs-haspermission.md | ||
| README.md | ||
| roles-and-permissions-architecture.md | ||
| roles-and-permissions-implementation-plan.md | ||
| roles-and-permissions-overview.md | ||
| settings-authentication-mockup.txt | ||
| smtp-configuration-concept.md | ||
| test-performance-optimization.md | ||
| vereinfacht-api.md | ||
Documentation index
Project documentation for Mila (Mitgliederverwaltung). Each area below lists a coarse entry point first, then the deeper references. For engineering conventions see the repo-root CODE_GUIDELINES.md; for UI conventions see DESIGN_GUIDELINES.md.
Roles & permissions
- roles-and-permissions-overview.md — coarse entry: the RBAC concept, evaluated approaches, permission sets and scopes.
- roles-and-permissions-architecture.md — deep reference: per-resource policies, permission matrix, page-permission plug, authorization bootstrap patterns.
- roles-and-permissions-implementation-plan.md — historical record of how the MVP was built.
- policy-bypass-vs-haspermission.md — the two-tier Ash pattern (bypass +
expr()for reads,HasPermissionfor writes). - page-permission-route-coverage.md — route → permission-set access matrix and the page-permission plug behaviour.
Membership & fees
- membership-fee-overview.md — coarse entry: terminology (DE↔EN), worked cycle examples, UI mockups.
- membership-fee-architecture.md — deep reference: design decisions, data model, cycle generation, atomicity.
- vereinfacht-api.md — the Vereinfacht finance-contact sync integration.
Members: import, onboarding, custom fields
- csv-member-import-v1.md — CSV member import: column mapping, validation, error handling, templates.
- onboarding-join-concept.md — public join flow (double opt-in, JoinRequest), plus unimplemented approval/invite/OIDC design.
- custom-fields-search-performance.md — performance of custom-field values in the member search vector.
Groups
- groups-architecture.md — groups design, hierarchy extension path, search integration, A11y notes.
Database
- database-schema-readme.md — schema overview: tables, relationships, indexes, full-text & fuzzy search.
- database_schema.dbml — machine-readable DBML schema (for dbdiagram.io / dbdocs.io).
Accounts, OIDC & email
- admin-bootstrap-and-oidc-role-sync.md — production admin bootstrap and OIDC group → Admin role sync (ENV contract).
- oidc-account-linking.md — secure account linking between password and OIDC accounts.
- email-sync.md — email synchronization rules between linked User and Member.
- email-validation.md — the dual
:html_input+:powemail-validation strategy. - email-layout-mockup.md — shared transactional-email layout structure.
- smtp-configuration-concept.md — SMTP config precedence, TLS handling, operational caveats.
UI & components
- settings-authentication-mockup.txt — Settings → Authentication section layout.
- daisyui-drawer-pattern.md — the project's sidebar drawer pattern (implemented in
lib/mv_web/components/layouts/sidebar.ex). - badge-wcag-phase1-analysis.md —
<.badge>component API and WCAG contrast design notes. - pdf-generation-imprintor.md — PDF generation via Imprintor + Typst templates (decision vs. Chromium).
Project history & planning
- development-progress-log.md — coarse implementation history, architecture decisions, migration index, gotchas.
- feature-roadmap.md — per-area status matrix and the open/missing backlog.
- test-performance-optimization.md — test-suite speed-up: seeds-test coverage mapping and the
@tag :slowmodel.