Skip to content

[OSDEV-1580] Add the new architecture diagram from February 17, 2025, to the repository.#519

Merged
vladsha-dev merged 3 commits intomainfrom
OSDEV-1580-add-the-new-network-diagram-to-docs
Feb 20, 2025
Merged

[OSDEV-1580] Add the new architecture diagram from February 17, 2025, to the repository.#519
vladsha-dev merged 3 commits intomainfrom
OSDEV-1580-add-the-new-network-diagram-to-docs

Conversation

@vladsha-dev
Copy link
Contributor

@vladsha-dev vladsha-dev commented Feb 17, 2025

[OSDEV-1580]

The new architecture diagram of the OS Hub platform has been created in response to the penetration testing that will be conducted in February 2025. The diagram has been placed in the root of the ./doc/system_design/ folder, replacing the old diagrams that have been moved to the ./doc/system_design/archived/ folder as they are no longer valid. A new ./doc/system_design/README.md file has also been created, with a reference to the new architecture/network diagram.

@vladsha-dev vladsha-dev self-assigned this Feb 17, 2025
@vladsha-dev vladsha-dev temporarily deployed to Quality Environment February 17, 2025 16:36 — with GitHub Actions Inactive
@vladsha-dev vladsha-dev temporarily deployed to Quality Environment February 17, 2025 16:36 — with GitHub Actions Inactive
@vladsha-dev vladsha-dev temporarily deployed to Quality Environment February 17, 2025 16:36 — with GitHub Actions Inactive
@vladsha-dev vladsha-dev temporarily deployed to Quality Environment February 17, 2025 16:36 — with GitHub Actions Inactive
@vladsha-dev vladsha-dev temporarily deployed to Quality Environment February 17, 2025 16:36 — with GitHub Actions Inactive
@vladsha-dev vladsha-dev temporarily deployed to Quality Environment February 17, 2025 16:36 — with GitHub Actions Inactive
@vladsha-dev vladsha-dev temporarily deployed to Quality Environment February 17, 2025 16:36 — with GitHub Actions Inactive
@vladsha-dev vladsha-dev temporarily deployed to Quality Environment February 17, 2025 16:36 — with GitHub Actions Inactive
@vladsha-dev vladsha-dev temporarily deployed to Quality Environment February 17, 2025 16:36 — with GitHub Actions Inactive
@vladsha-dev vladsha-dev temporarily deployed to Quality Environment February 17, 2025 16:36 — with GitHub Actions Inactive
@vladsha-dev vladsha-dev temporarily deployed to Quality Environment February 17, 2025 16:36 — with GitHub Actions Inactive
@vladsha-dev vladsha-dev temporarily deployed to Quality Environment February 17, 2025 16:36 — with GitHub Actions Inactive
@vladsha-dev vladsha-dev temporarily deployed to Quality Environment February 17, 2025 16:36 — with GitHub Actions Inactive
@vladsha-dev vladsha-dev temporarily deployed to Quality Environment February 17, 2025 16:39 — with GitHub Actions Inactive
@barecheck
Copy link

barecheck bot commented Feb 17, 2025

React App | Jest test suite - Code coverage report

Total: 29.6%

Your code coverage diff: 0.00% ▴

✅ All code changes are covered

@coderabbitai
Copy link

coderabbitai bot commented Feb 17, 2025

📝 Walkthrough

Walkthrough

This pull request updates the project documentation. It adds a new release note section for version 2.1.0 in doc/release/RELEASE-NOTES.md with subsections for introduction, database changes, code/API changes, architecture/environment changes, bug fixes, new features, and release instructions. Additionally, the system design documentation is reorganized in doc/system_design/README.md with updated diagram tool references, header text, validity dates, and image paths. A new XML file for the architecture diagram is introduced, and the archived system design README now includes a dedicated "Diagrams" section with legacy references.

Changes

File Summary
doc/release/RELEASE-NOTES.md Added release notes for version 2.1.0 including sections for Introduction, Database changes (with migration and schema placeholders), Code/API changes, Architecture/Environment changes, Bugfix, What's new, and Release instructions.
doc/system_design/README.md Reorganized documentation: updated diagram tool URL (from https://app.diagrams.net/ to https://www.drawio.com/), replaced "System Context" header with "Architecture", added validity date, and updated image references.
doc/system_design/architecture_diagram/os_hub_system_architecture_diagram.drawio.xml Introduced a new XML architecture diagram using the mxGraphModel format, detailing system components and their interconnections.
doc/system_design/archived/README.md Added a new "Diagrams" section with a note indicating diagrams are not updated since March 2023 and reorganized legacy diagram links and embedded images into subsections for System Context, Container, and Deployment.

Sequence Diagram(s)

sequenceDiagram
    participant Admin
    participant Deployment
    participant Database
    participant Indexer

    Admin->>Deployment: Initiate release of v2.1.0
    Deployment->>Database: Execute 'migrate'
    Database-->>Deployment: Confirm migrations completed
    Deployment->>Indexer: Execute 'reindex_database'
    Indexer-->>Deployment: Confirm reindexing completed
    Deployment-->>Admin: Release complete
Loading

Possibly related PRs

Suggested reviewers

  • Innavin369
  • VadimKovalenkoSNF
  • roman-stolar
  • mazursasha1990

Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR. (Beta)
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (2)
doc/system_design/README.md (1)

3-4: Bare URL in diagram tool reference.
The text now reads “Created using https://www.drawio.com/” which correctly reflects the updated tool; however, static analysis flagged the bare URL usage (MD034). Consider formatting it as a markdown link (e.g., [diagrams.net](https://www.drawio.com/)) to satisfy markdownlint.

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

3-3: Bare URL used
null

(MD034, no-bare-urls)

doc/system_design/archived/README.md (1)

4-4: Bare URL usage in creator credit.
The line “Created using https://app.diagrams.net/” uses a bare URL. To resolve the MD034 warning, consider refactoring it as a markdown link. For example:

-Created using https://app.diagrams.net/
+Created using [diagrams.net](https://app.diagrams.net/)

This improves compliance with markdown lint guidelines.

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

4-4: Bare URL used
null

(MD034, no-bare-urls)

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 1189872 and 15a3ad5.

⛔ Files ignored due to path filters (8)
  • doc/system_design/architecture_diagram/os_hub_system_architecture_diagram.drawio.png is excluded by !**/*.png
  • doc/system_design/architecture_diagram/os_hub_system_architecture_diagram.drawio.svg is excluded by !**/*.svg
  • doc/system_design/archived/Container Diagram/OS Hub Container Diagram.drawio.png is excluded by !**/*.png
  • doc/system_design/archived/Container Diagram/OS Hub Container Diagram.drawio.svg is excluded by !**/*.svg
  • doc/system_design/archived/Deployment Diagram/OS Hub Deployment Diagram.drawio.png is excluded by !**/*.png
  • doc/system_design/archived/Deployment Diagram/OS Hub Deployment Diagram.drawio.svg is excluded by !**/*.svg
  • doc/system_design/archived/System Context Diagram/OS Hub System Context Diagram.drawio.png is excluded by !**/*.png
  • doc/system_design/archived/System Context Diagram/OS Hub System Context Diagram.drawio.svg is excluded by !**/*.svg
📒 Files selected for processing (4)
  • doc/release/RELEASE-NOTES.md (1 hunks)
  • doc/system_design/README.md (1 hunks)
  • doc/system_design/architecture_diagram/os_hub_system_architecture_diagram.drawio.xml (1 hunks)
  • doc/system_design/archived/README.md (1 hunks)
✅ Files skipped from review due to trivial changes (1)
  • doc/system_design/architecture_diagram/os_hub_system_architecture_diagram.drawio.xml
🧰 Additional context used
🪛 markdownlint-cli2 (0.17.2)
doc/release/RELEASE-NOTES.md

15-15: Trailing punctuation in heading
Punctuation: ':'

(MD026, no-trailing-punctuation)


33-33: Trailing punctuation in heading
Punctuation: ':'

(MD026, no-trailing-punctuation)


35-35: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


36-36: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)

doc/system_design/README.md

3-3: Bare URL used
null

(MD034, no-bare-urls)

doc/system_design/archived/README.md

4-4: Bare URL used
null

(MD034, no-bare-urls)

⏰ Context from checks skipped due to timeout of 90000ms (13)
  • GitHub Check: run-integration-test-code-quality
  • GitHub Check: run-flake8-linter
  • GitHub Check: run-fe-code-quality
  • GitHub Check: run-eslint-linter-and-prettier-formatter
  • GitHub Check: run-dd-code-quality
  • GitHub Check: run-django-code-quality
  • GitHub Check: run-countries-code-quality
  • GitHub Check: run-contricleaner-code-quality
  • GitHub Check: get-base-branch-fe-cov
  • GitHub Check: get-base-branch-contricleaner-cov
  • GitHub Check: get-base-branch-countries-cov
  • GitHub Check: get-base-branch-django-cov
  • GitHub Check: get-base-branch-dd-cov
🔇 Additional comments (10)
doc/system_design/README.md (2)

5-7: Section header and validity statement update.
The header has been updated from “## System Context” to “## Architecture” and now includes the statement “The diagram is valid as of February 17, 2025.” This clearly communicates the current validity of the diagram and aligns with the PR’s design update objective.


9-14: Updated image references and embedded diagram.
The links for the PNG, SVG, and XML versions now correctly point to the files in the new architecture_diagram folder, and the embedded image line is updated accordingly. This change is clear and consistent with the updated documentation structure.

doc/release/RELEASE-NOTES.md (3)

6-11: New Release 2.1.0 section added.
The new section under “## Release 2.1.0” correctly details the introduction, product name, and release date. It accurately reflects the PR’s objective of updating the release notes with architecture/environment changes referencing OSDEV-1580.


24-26: Architecture/Environment changes details.
The “### Architecture/Environment changes” subsection now includes a clear reference to task [OSDEV-1580] with detailed commentary on how the new diagram replaces the old ones. The explanation is comprehensive and meets the documentation update objectives.


33-37: Clear and actionable release instructions.
The “### Release instructions:” section provides concrete post-deployment commands (e.g., migrate and reindex_database) and additional information regarding the environmental refresh. This clarity is beneficial for deployment personnel.

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

33-33: Trailing punctuation in heading
Punctuation: ':'

(MD026, no-trailing-punctuation)


35-35: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


36-36: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)

doc/system_design/archived/README.md (5)

1-3: New archived Diagrams section with important note.
The new “# Diagrams” section opens with an important note that clearly communicates these diagrams haven’t been updated since March 2023 and directs the reader to the updated system state. This contextual note is very helpful for users.


6-8: C4 model reference in archived documentation.
The note that mentions “System context and container diagrams created using the C4 model for visualising software architecture” is informative. It clearly explains the design approach and directs users to further information on the C4 model.


9-16: System Context subsection is well structured.
The “## System Context” section provides links in PNG, SVG, and XML formats as well as an embedded PNG image. These links and the image appear correctly formatted with appropriate file paths.


18-25: Container subsection is clear and consistent.
The “## Container” section similarly includes download links for the diagram in all three formats and an embedded image. The structure is consistent with the System Context section, making navigation and reference straightforward.


26-33: Deployment subsection is complete and accessible.
The “## Deployment” section follows the same pattern as the previous sections, providing multiple format links and an embedded image. Overall, this structured approach across all subsections enhances the archival documentation’s usability.

@vladsha-dev vladsha-dev temporarily deployed to Quality Environment February 17, 2025 16:43 — with GitHub Actions Inactive
@barecheck
Copy link

barecheck bot commented Feb 17, 2025

Dedupe Hub App | Unittest test suite - Code coverage report

Total: 56.14%

Your code coverage diff: 0.00% ▴

✅ All code changes are covered

@vladsha-dev vladsha-dev temporarily deployed to Quality Environment February 17, 2025 16:44 — with GitHub Actions Inactive
@vladsha-dev vladsha-dev temporarily deployed to Quality Environment February 17, 2025 16:44 — with GitHub Actions Inactive
@barecheck
Copy link

barecheck bot commented Feb 17, 2025

Countries App | Unittest test suite - Code coverage report

Total: 100%

Your code coverage diff: 0.00% ▴

✅ All code changes are covered

@sonarqubecloud
Copy link

@vladsha-dev vladsha-dev temporarily deployed to Quality Environment February 19, 2025 21:41 — with GitHub Actions Inactive
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (6)
doc/release/RELEASE-NOTES.md (6)

12-14: Database Changes Section Placeholder
The section provides placeholders (e.g., "Describe high-level database changes."). Ensure you update these details with concrete information once available.


15-17: Heading Punctuation in Migrations Section
The heading “#### Migrations:” ends with a colon. According to markdown style guidelines (MD026), it’s preferable to remove trailing punctuation from headings.

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

15-15: Trailing punctuation in heading
Punctuation: ':'

(MD026, no-trailing-punctuation)


18-20: Heading Punctuation in Schema Changes Section
Similarly, the “#### Schema changes” heading also ends with a colon. Removing it would adhere to the “no-trailing-punctuation” guideline.


27-29: Bugfix Section Placeholder
The “### Bugfix” section currently provides a placeholder. If no bug fixes are part of this release, consider removing the section; otherwise, update it with the relevant fixes.


30-32: What's New Section Placeholder
The section “### What's new” also uses placeholder text. Please update it with the actual new features or user-impacting changes before merging.


33-37: Release Instructions Heading & List Formatting
The “### Release instructions:” heading ends with a colon. For consistency with MD026 (no-trailing-punctuation), consider removing the colon. Also, the unordered list items on lines 35 and 36 are indented with 4 spaces, but markdown style guidelines (MD007) typically expect a 2-space indent for such lists. Adjusting the indentation will improve readability and maintain consistency.

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

33-33: Trailing punctuation in heading
Punctuation: ':'

(MD026, no-trailing-punctuation)


35-35: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


36-36: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 90a0152 and 7eb1693.

📒 Files selected for processing (1)
  • doc/release/RELEASE-NOTES.md (1 hunks)
🧰 Additional context used
🪛 markdownlint-cli2 (0.17.2)
doc/release/RELEASE-NOTES.md

15-15: Trailing punctuation in heading
Punctuation: ':'

(MD026, no-trailing-punctuation)


33-33: Trailing punctuation in heading
Punctuation: ':'

(MD026, no-trailing-punctuation)


35-35: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


36-36: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)

⏰ Context from checks skipped due to timeout of 90000ms (10)
  • GitHub Check: run-integration-test-code-quality
  • GitHub Check: run-flake8-linter
  • GitHub Check: run-django-code-quality
  • GitHub Check: run-dd-code-quality
  • GitHub Check: run-countries-code-quality
  • GitHub Check: run-contricleaner-code-quality
  • GitHub Check: get-base-branch-dd-cov
  • GitHub Check: get-base-branch-countries-cov
  • GitHub Check: get-base-branch-django-cov
  • GitHub Check: get-base-branch-contricleaner-cov
🔇 Additional comments (3)
doc/release/RELEASE-NOTES.md (3)

6-11: New Release Section Added (v2.1.0)
A clearly delineated release section for version 2.1.0 has been added with the product name and release date (“March 8, 2025”). This meets the PR objective well.


21-23: Code/API Changes Section Placeholder
The “### Code/API changes” section is clear and contains placeholders. Remember to fill in actual change details prior to finalization.


24-26: Architecture/Environment Changes Section
This section effectively details the architectural update related to [OSDEV-1580] (i.e., the new architecture diagram replacing outdated versions). The description is thorough and aligns with the PR objectives.

Copy link
Contributor

@mazursasha1990 mazursasha1990 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@vladsha-dev vladsha-dev merged commit 519cd3a into main Feb 20, 2025
21 checks passed
@vladsha-dev vladsha-dev deleted the OSDEV-1580-add-the-new-network-diagram-to-docs branch February 20, 2025 14:04
protsack-stephan pushed a commit that referenced this pull request Apr 12, 2025
… to the repository. (#519)

[[OSDEV-1580](https://opensupplyhub.atlassian.net/browse/OSDEV-1580)]

The new architecture diagram of the OS Hub platform has been created in
response to the penetration testing that will be conducted in February
2025. The diagram has been placed in the root of the
`./doc/system_design/` folder, replacing the old diagrams that have been
moved to the `./doc/system_design/archived/` folder as they are no
longer valid. A new `./doc/system_design/README.md` file has also been
created, with a reference to the new architecture/network diagram.

[OSDEV-1580]:
https://opensupplyhub.atlassian.net/browse/OSDEV-1580?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants