docs: Add Architecture and ACD Documentation - #715
Conversation
Add comprehensive documentation for the OpenMFP Portal: - ARCHITECTURE.md: High-level architecture, component diagrams, workflows, dependencies - ACD.md: Architecture & Code Documentation with implementation details Documentation includes Mermaid diagrams for visual representation of: - System architecture - Component interactions - Data flows - Deployment architecture
📝 WalkthroughWalkthroughThis pull request updates the project documentation. README.md links to updated REUSE tool URL. Two comprehensive new architecture documentation files are added: ACD.md covering frontend/backend structure and development workflows, and ARCHITECTURE.md detailing OpenMFP Portal design, technology stack, deployment, and extensibility. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
docs/ACD.md (1)
1-994: Excellent comprehensive documentation!This Architecture & Code Documentation is thorough and well-structured. It provides valuable guidance for developers, covering frontend/backend structure, API integration, routing, configuration, development workflow, testing, Docker builds, troubleshooting, and security best practices. The code examples are technically accurate, and the use of Mermaid diagrams enhances clarity.
The documentation serves as an excellent onboarding resource and reference guide for the OpenMFP Portal project.
Note: The markdownlint tool flagged lines 7 and 72 for missing language specifiers on fenced code blocks. These are file tree structures displayed as plain text, which is intentional for visual clarity. No action is required, but you could optionally add
textorplaintextas the language identifier if you prefer to silence the linter.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/ACD.md` around lines 1 - 994, The linter flagged the two fenced code blocks that contain the ASCII file trees (the blocks beginning with "frontend/" and the block beginning with "backend/") for missing language specifiers; add a language identifier such as "text" or "plaintext" to those fenced code blocks to silence markdownlint (i.e., change ``` to ```text for the file-tree blocks), leaving all other fenced blocks unchanged.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In `@docs/ACD.md`:
- Around line 1-994: The linter flagged the two fenced code blocks that contain
the ASCII file trees (the blocks beginning with "frontend/" and the block
beginning with "backend/") for missing language specifiers; add a language
identifier such as "text" or "plaintext" to those fenced code blocks to silence
markdownlint (i.e., change ``` to ```text for the file-tree blocks), leaving all
other fenced blocks unchanged.
| ├── src/ | ||
| │ ├── app.module.ts # Root application module | ||
| │ ├── main.ts # NestJS bootstrap | ||
| │ ├── entity-context-provider/ |
There was a problem hiding this comment.
the structure has been changed a lot, the latest version of the backend contains only
│ ├── app.module.ts # Root application module
│ ├── main.ts # NestJS bootstrap
all the other has been removed
|
|
||
| config({ path: './.env' }); | ||
|
|
||
| const portalOptions: PortalModuleOptions = { |
There was a problem hiding this comment.
the content differs with the main branch content
| **Base URL**: `/rest` | ||
|
|
||
| **Key endpoints provided by PortalModule:** | ||
| - `GET /rest/service-providers` - Fetch dynamic navigation and content configuration |
There was a problem hiding this comment.
we donlt have these endpoints only
/rest/config
/rest/config/:entity ....
| **KubernetesServiceProvidersService Implementation:** | ||
|
|
||
| ```typescript | ||
| export class KubernetesServiceProvidersService implements ServiceProviderService { |
|
|
||
| ```typescript | ||
| @Injectable() | ||
| export class AccountEntityContextProvider implements EntityContextProvider { |
|
|
||
| ```typescript | ||
| @Injectable() | ||
| export class OpenmfpPortalProvider implements PortalContextProvider { |
| **Example Configuration:** | ||
|
|
||
| ```typescript | ||
| const portalOptions: PortalModuleOptions = { |
There was a problem hiding this comment.
different content in the main branch
|
I don't think a documentation on that detail level (mentioning files and such) is meaningful, for end users (or ai-agents) as it is quickly out of date. Certainly if humans mange the code. I'd suggest to remove such details |
Summary
This PR adds comprehensive architecture and code documentation for the OpenMFP Portal.
Changes
New Documentation Files
docs/ARCHITECTURE.md: High-level architecture documentation covering:
docs/ACD.md: Architecture & Code Documentation with implementation details:
Documentation Highlights
Architecture Overview
The portal is a micro-frontend platform built with:
The architecture supports dynamic content loading, entity-based navigation, and extensible micro-frontend integration.
Benefits
Related
Summary by CodeRabbit