mitgliederverwaltung/docs/documentation-sync-todos.md
Moritz 6a9229c54f
All checks were successful
continuous-integration/drone/push Build is passing
chore: update docs
2026-01-13 23:38:15 +01:00

13 KiB

Documentation Sync - Code Adjustments Todo List

Created: 2026-01-13
Purpose: List of all code adjustments identified based on documentation synchronization


Removed Documentation Files

1. docs/test-status-membership-fee-ui.md

Reason: Outdated temporary analysis documentation

  • Contains only historical test status information (Date: 2025-01-XX)
  • Status "Tests Written - Implementation Complete" is no longer relevant
  • All tests are already implemented and running
  • Information is already documented in development-progress-log.md
  • Removed: 2026-01-13

2. docs/test-failures-analysis.md

Reason: Outdated temporary analysis documentation

  • Analyzes 5 failing tests that have already been fixed
  • Contains solution suggestions for already resolved problems
  • Information is only historically relevant
  • No current relevance for the codebase
  • Removed: 2026-01-13

Marked as Deprecated Documentation Files

3. docs/sidebar-analysis-current-state.md

Reason: Outdated analysis documentation

  • Describes the state BEFORE sidebar implementation
  • Sidebar was already implemented (2026-01-12, PR #260)
  • Replaced by sidebar-requirements-v2.md
  • Status: Marked as deprecated, but kept for historical reference

4. docs/umsetzung-sidebar.md

Reason: Outdated implementation guide

  • Step-by-step guide for sidebar implementation
  • Sidebar was already implemented (2026-01-12, PR #260)
  • Replaced by sidebar-requirements-v2.md
  • Status: Marked as deprecated, but kept for historical reference

Code Adjustments (Priority: Low)

1. Domain Public API Documentation Incomplete

Problem: The @moduledoc in domain modules does not list all public functions.

Affected Files:

  • lib/membership/membership.ex - Missing functions in Public API:
    • list_required_custom_fields/0
    • update_member_field_visibility/2
    • update_single_member_field_visibility/3
  • lib/accounts/accounts.ex - Very short Public API documentation, could be more detailed
  • lib/membership_fees/membership_fees.ex - Public API is complete, but could more clearly document that LiveViews use direct Ash calls

Priority: Low (Documentation, no functionality affected)

Recommendation: Update Public API sections in all domain modules to list all public functions.

2. Outdated Comments in MemberLive.Form

Problem: @moduledoc in lib/mv_web/live/member_live/form.ex still mentions "Payment Data: Mockup section (not editable)", but Membership Fees are now fully implemented.

Affected File:

  • lib/mv_web/live/member_live/form.ex (Line 16)

Priority: Low (Documentation, no functionality affected)

Recommendation: Update @moduledoc to reflect the current status.

3. Mv.Accounts Domain Public API Missing Completely

Problem: The @moduledoc in lib/accounts/accounts.ex does not mention any Public API functions, although several are defined.

Affected File:

  • lib/accounts/accounts.ex - Missing Public API documentation for:
    • create_user/1
    • list_users/0
    • update_user/2
    • destroy_user/1
    • create_register_with_rauthy/1
    • read_sign_in_with_rauthy/1

Priority: Low (Documentation, no functionality affected)

Recommendation: Add Public API section to @moduledoc, similar to other domain modules.

4. Mv.Authorization Domain Public API Missing get_role/1

Problem: The @moduledoc in lib/mv/authorization/authorization.ex does not list get_role/1 in the Public API, although it is defined.

Affected File:

  • lib/mv/authorization/authorization.ex - Missing function in Public API:
    • get_role/1 (is defined, but not mentioned in Public API)

Priority: Low (Documentation, no functionality affected)

Recommendation: Add get_role/1 to the Public API list.

5. CustomFieldValueLive.Show Implementation Incomplete

Problem: The @moduledoc in lib/mv_web/live/custom_field_value_live/show.ex describes features that are not implemented.

Affected File:

  • lib/mv_web/live/custom_field_value_live/show.ex - @moduledoc describes:
    • "Display custom field value and type" - Only ID is displayed
    • "Show linked member" - Not implemented
    • "Show custom field definition" - Not implemented
    • "Custom field value metadata (ID, timestamps if added)" - Only ID is displayed

Priority: Medium (Documentation describes unimplemented features)

Recommendation: Either adjust @moduledoc to describe only implemented features, or complete the implementation.

6. Missing Tests for Some LiveViews

Problem: Some LiveViews do not have corresponding test files.

Affected LiveViews:

  • MvWeb.CustomFieldValueLive.Show - No test present
  • MvWeb.UserLive.Show - No test present
  • MvWeb.RoleLive.Show - No test present

Not Affected (Mock-ups, tests not expected):

  • MvWeb.ContributionTypeLive.Index - Mock-up, no test expected
  • MvWeb.ContributionPeriodLive.Show - Mock-up, no test expected

Priority: Medium (Test coverage could be improved)

Recommendation: Add tests for the three Show LiveViews to ensure complete test coverage.

7. Mv.Accounts.Token @moduledoc Too Short

Problem: The @moduledoc in lib/accounts/token.ex is very short and not informative.

Affected File:

  • lib/accounts/token.ex - Currently only: "AshAuthentication specific ressource"

Priority: Low (Documentation, no functionality affected)

Recommendation: Expand @moduledoc to explain that this is an AshAuthentication Token Resource and is used for session management.

8. PageController Missing @moduledoc

Problem: The @moduledoc in lib/mv_web/controllers/page_controller.ex is completely missing.

Affected File:

  • lib/mv_web/controllers/page_controller.ex - No @moduledoc present

Priority: Low (Documentation, no functionality affected)

Recommendation: Add @moduledoc to explain that this controller renders the homepage.

Note: Other controller modules (Router, Endpoint, Telemetry) also do not have @moduledoc, but this is common and acceptable for standard Phoenix modules.


Deprecated Code Patterns

No Deprecated Patterns Identified

All code patterns comply with current best practices and are documented in CODE_GUIDELINES.md.


Missing Implementations

No Missing Implementations Identified

All features described in the documentation are implemented.


Inconsistent Naming

No Inconsistencies Identified

Terminology is consistent between code and documentation:

  • CustomField / CustomFieldValue (no longer "Property" / "PropertyType")
  • MembershipFeeType / MembershipFeeCycle (correctly used)
  • Domains: Accounts, Membership, MembershipFees, Authorization (all correct)

Analysis Summary

Completed Analyses

1. Documentation Files:

  • README.md - Code Structure updated
  • CODE_GUIDELINES.md - Module Organization, Ash Domains updated
  • docs/development-progress-log.md - PostgreSQL Extensions, Migration Commands updated
  • docs/membership-fee-architecture.md - MembershipFeesComponent Details added
  • lib/mv_web/live/member_live/show.ex - @moduledoc updated (Membership Fees Tab)
  • lib/membership_fees/membership_fees.ex - Public API section added

2. Code Structure Analysis:

  • All 4 Ash Domains identified and documented (Mv.Membership, Mv.Accounts, Mv.MembershipFees, Mv.Authorization)
  • All 26 migration files identified
  • All LiveView routes in router analyzed (32 LiveView modules found)
  • All helper modules identified (lib/mv_web/helpers/, lib/mv/helpers/)
  • All changes and validations identified (8 Changes, 3 Validations)
  • Domain Public APIs analyzed (4 Domains)

3. Router Route Validation:

  • All defined LiveView routes have corresponding modules
  • Mock-up LiveViews correctly marked as such (ContributionTypeLive.Index, ContributionPeriodLive.Show)
  • Feature roadmap status consistent with code status

4. Fully Analyzed Areas (Deeper Iteration):

  • All helper modules analyzed (lib/mv_web/helpers/, lib/mv/helpers/) - All have complete @moduledoc and @doc
  • All LiveView @moduledoc comments analyzed - All have complete documentation
  • All Ash Resource @moduledoc comments analyzed - All have complete documentation
  • All Changes/Validations @moduledoc comments analyzed - All have complete documentation
  • Test coverage analysis performed - 88 test files identified, missing tests documented

5. Fully Analyzed Areas (Further Iteration):

  • Controller modules analyzed - 4 of 5 have @moduledoc (PageController missing)
  • Component modules analyzed - All have complete @moduledoc
  • Test support modules analyzed - Both have complete @moduledoc
  • Telemetry module analyzed - No @moduledoc (Supervisor module)
  • Router module analyzed - No @moduledoc (Standard Phoenix Router)
  • Endpoint module analyzed - No @moduledoc (Standard Phoenix Endpoint)
  • Seeds file analyzed - Script file, not a module (no @moduledoc needed)
  • Mix aliases analyzed - All documented in mix.exs comments
  • Translation modules analyzed - Both have complete @moduledoc

6. Fully Analyzed Areas (Final Iteration):

  • Ash Resource Actions checked for consistency with Domain Public APIs
    • All Domain define statements correspond to Resource Actions
    • All Public API functions in domains have corresponding define statements
    • Custom Actions (e.g., create_member, update_member, update_member_field_visibility) are correctly defined
    • No inconsistencies found between Domain Public APIs and Resource Actions

7. Fully Analyzed Areas - Summary:

  • All helper modules (lib/mv_web/helpers/, lib/mv/helpers/)
  • All LiveView modules (26 modules)
  • All Ash Resource modules (10+ resources)
  • All Changes/Validations modules (8 Changes, 3 Validations)
  • All component modules (CoreComponents, TableComponents, Layouts)
  • All controller modules (5 controllers)
  • All test support modules (ConnCase, DataCase)
  • All domain modules (4 domains)
  • All translation modules (FieldTypes, MemberFields)
  • Router, Endpoint, Telemetry (Standard Phoenix modules)
  • Seeds file and Mix aliases
  • Test coverage (88 test files)
  • Ash Resource Actions vs Domain Public APIs consistency

Found Inconsistencies

1. Domain Public API Documentation Incomplete (see Code Adjustments #1) 2. Outdated Comments in MemberLive.Form (see Code Adjustments #2) 3. Mv.Accounts Domain Public API Missing Completely (see Code Adjustments #3) 4. Mv.Authorization Domain Public API Missing get_role/1 (see Code Adjustments #4) 5. CustomFieldValueLive.Show Implementation Incomplete (see Code Adjustments #5) 6. Missing Tests for Some LiveViews (see Code Adjustments #6) 7. Mv.Accounts.Token @moduledoc Too Short (see Code Adjustments #7) 8. PageController Missing @moduledoc (see Code Adjustments #8)


Summary

Status: Documentation successfully synchronized

  • Updated Documentation: 15+ files
    • database_schema.dbml (Version 1.4, +2 tables: roles, settings)
    • database-schema-readme.md (9 tables, 4 domains, updated relationships)
    • development-progress-log.md (Last Updated: 2026-01-13)
      • New section: "Recent Updates (2025-12-02 to 2026-01-13)"
      • Membership Fees System Implementation (6 PRs documented)
      • Custom Fields Enhancements (3 PRs documented)
      • UI/UX Improvements (6 PRs documented)
      • Roles and Permissions System (fully documented)
      • Key Achievements updated (100+ PRs, 9+ sprints)
    • feature-roadmap.md (Last Updated: 2026-01-13)
      • Routes updated (all current LiveView routes documented)
      • Membership Fees Endpoints (Status: Implemented)
      • Admin Panel Endpoints (Status updated)
      • Custom Fields Endpoints (corrected: managed via /settings)
    • CHANGELOG.md (new features documented)
    • CODE_GUIDELINES.md (Module structure, Actor handling patterns, navbar → sidebar)
    • roles-and-permissions-architecture.md (Status: Implemented)
    • roles-and-permissions-overview.md (Status: Implemented)
    • roles-and-permissions-implementation-plan.md (Status: Implemented)
    • membership-fee-architecture.md (Status: Implemented)
    • membership-fee-overview.md (Status: Implemented)
    • csv-member-import-v1.md (Status: Templates Created)
    • sidebar-requirements-v2.md (Status: Implemented)
    • README.md (Feature status updated)
  • Removed Documentation: 2 files
    • test-status-membership-fee-ui.md
    • test-failures-analysis.md
  • Marked as Deprecated: 2 files
    • sidebar-analysis-current-state.md
    • umsetzung-sidebar.md
  • Code Adjustments Required: 0
  • Critical Issues: 0

Documented Features Since 2025-12-02:

  • Membership Fees System (6 PRs: #275, #276, #277, #278, #279, #280)
  • Custom Fields Enhancements (3 PRs: #196, #274, #282)
  • UI/UX Improvements (6 PRs: #209, #220, #231, #233, #273, #281)
  • Roles and Permissions (5 PRs: #321, #322, #323, #325, #345)
  • Sidebar Implementation (#260)
  • Member Field Settings (#223, #300)
  • CSV Import Templates (#329)
  • Actor Handling Refactoring
  • Internationalization Improvements

The documentation is now fully synchronized with the current code. All "Last Updated" dates have been updated to 2026-01-13 where relevant. All routes, features, and implementations are documented.