eclipse-tractusx / sig-release

https://eclipse-tractusx.github.io/sig-release
Apache License 2.0
9 stars 10 forks source link

Registration & Portal: Frontend Repositories Merge and App Update #937

Open MaximilianHauer opened 1 month ago

MaximilianHauer commented 1 month ago

Overview

Explain the topic in 2 sentences

This feature aims to consolidate the registration frontend repository with the portal frontend repository to streamline development and maintenance processes. Additionally, the registration application will be updated to utilize the shared-component library for design consistency. Special attention will be given to ensure that the integration does not negatively impact the portal codebase.

What's the benefit?

What are the Risks/Dependencies ?

Integration Complexity: The merge could introduce complex integration issues. This will be mitigated by thorough planning and testing before the merge. Design Inconsistency: There is a risk that some design elements may not align perfectly with the shared-component library. This will be mitigated by a detailed design review and testing. Code Compatibility: The newer code stack of the registration app may cause compatibility issues. This will be mitigated by careful code review and testing, with fallback plans in place.

Detailed explanation

Current implementation

Proposed improvements

Repository Merge

Codebase Integration: The registration and portal repositories will be merged into a single repository. The merge will be carefully planned to preserve the commit history of both repositories. Build Process: The build process will be updated to accommodate both applications within the same repository. This includes scripts, dependencies, and any continuous integration configurations.

Registration App Update

Shared-Component Library Integration: The registration application will be refactored to use the shared-component library, ensuring design consistency across the platform. Design Element Update: All design elements within the registration app will be reviewed and updated to align with the shared-component library's standards.

Code Stack Compatibility

Translation Files: The translation files for the registration and portal applications will be kept separate to maintain clear localization boundaries. Linter Configuration: Linters that are failing for the registration path will be selectively disabled to ensure they do not affect the portal code. The linter configuration will be carefully documented to explain the exceptions. Code Review: A thorough code review will be conducted to identify any potential conflicts or issues arising from the merge, particularly focusing on the newer code stack of the registration app.

URL and Permission Cleanup

URLs Review: All registration path URLs will be audited to ensure they are structured logically and consistently with the portal's URL schema. Permission Configuration: The permission configurations for the registration app will be reviewed and cleaned up to ensure they are accurate and secure. Cleanup Process: Any redundant, outdated, or conflicting settings related to the registration path will be identified and resolved.

Feature Team

Contributor

Committer

User Stories

Userstories to be created

  1. Merge the registration frontend repository with the portal frontend repository.
  2. Update based on the merge the build/pipeline processes and helm chart setup
  3. Update the registration application to use the shared-component library for design elements.
  4. Ensure the registration app's later code stack does not negatively interfere with the portal code.
  5. Maintain separate translation files for each application.
  6. Disable failing linters specifically for the registration path to avoid disruption.
  7. Review and clean up registration path URLs, permission configurations, and similar settings.

Acceptance Criteria

Test Cases

TestCase for "Successful Merge"

Description To verify that after merging the registration and portal frontend repositories, both functionalities and data remain intact and operational.

Steps

  1. Perform a merge operation of the registration and portal frontend repositories.
  2. Deploy the merged application to a testing environment.
  3. Access the registration functionality and complete the registration process.
  4. Access the various functionalities of the portal that existed before the merge.
  5. Validate that all data from both repositories is present and accounted for.

Expected Results

TestCase for "Design Consistency"

Description To ensure that the registration application utilizes the shared-component library and adheres to the platform's design language.

Steps

  1. Navigate through all the screens of the registration application.
  2. Check for the usage of shared components in the registration app's interface.
  3. Compare the design elements of the registration app with the platform's overall design language.

Expected Results

TestCase for "Separate Translations"

Description To validate that translation files for the registration and portal apps remain separate, functional, and do not interfere with each other post-merge.

Steps

  1. Locate the translation files for both the registration and portal apps in the repository.
  2. Make changes to the translation files of the registration app and deploy the changes.
  3. Test the registration app in different languages to ensure translations are applied correctly.
  4. Repeat the process for the portal app and verify that its translations are working as intended.
  5. Expected Results

TestCase for "Clean URLs and Permissions"

Description To ensure that after the cleanup, registration path URLs and permission configurations are logical, consistent, and secure.

Steps

  1. Review the list of URLs associated with the registration path to ensure they follow a logical and consistent naming convention.
  2. Test each URL to confirm that it leads to the correct page or functionality within the registration process.
  3. Verify that all URLs have the appropriate permission checks in place and are not accessible by unauthorized users.
  4. Conduct security tests to check for vulnerabilities such as broken access control or improper redirects.

Expected Results

Architectural Relevance

The following items are ensured (answer: yes) after this issue is implemented:

Justification: (Fill this out, if at least one of the checkboxes above cannot be ticked. Contact the Architecture Management Committee to get an approval for the justification)

Additional information

stephanbcbauer commented 2 weeks ago

Some hints from Release Management (@ther3sa) and Tractus-X Project Lead (@stephanbcbauer)