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

314 lines
13 KiB
Markdown

# 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.