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/0update_member_field_visibility/2update_single_member_field_visibility/3
lib/accounts/accounts.ex- Very short Public API documentation, could be more detailedlib/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/1list_users/0update_user/2destroy_user/1create_register_with_rauthy/1read_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 presentMvWeb.UserLive.Show- No test presentMvWeb.RoleLive.Show- No test present
Not Affected (Mock-ups, tests not expected):
MvWeb.ContributionTypeLive.Index- Mock-up, no test expectedMvWeb.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
definestatements correspond to Resource Actions - All Public API functions in domains have corresponding
definestatements - 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
- All Domain
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.