Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UI Migration #307

Open
9 of 35 tasks
Tracked by #384 ...
jon-nfc opened this issue Sep 19, 2024 · 0 comments
Open
9 of 35 tasks
Tracked by #384 ...

UI Migration #307

jon-nfc opened this issue Sep 19, 2024 · 0 comments
Labels
breaking-change label used to denote that the issue/Merge Request does/will introduce a breaking change type::epic Issue Type is Epic User Story
Milestone

Comments

@jon-nfc
Copy link
Member

jon-nfc commented Sep 19, 2024

This issue is to track the work required for the UI to migrate to it's own project.

Details

At this stage the proposal is that the ui move to it's own repository and be developed using react.js.

Models

  • defines detail layout

Serializers

Serializes to be separated into three types:

  • Base
  • Model
  • View

Base Serializer

provides the basic details to show as a JSON dict. contains id, name and url.

Model Serializer

user for the creation and update of an item and contains ALL fields defined in display order, including any additional fields as specified within the View Serializer. these additional fields must be set as read_only=True

View Serializer

Used to serializer to display the data. related fields are redefined to use their own base serializer.

defines parameter _urls: dict that always contains key _self which is the items detail view url.

Requirements

  • Mark API v2 as stable

  • API redesign #248

  • UI Proof of concept #319

  • url patterns defined

    • /module/model

    • /module/model/pk

    • /module/model/pk/child_model

    • /module/model/pk/child_model/pk

    • /module/model/common_name

    • /module/model/common_name/pk

    • /module/model/common_name/pk/child_model

    • /module/model/common_name/pk/child_model/pk

  • Root API URL HTTP/OPTIONS method contains navigation key

  • Each detail view of model specifies the page layout key for HTTP/OPTIONS method

  • normalised URLs

  • follows nav structure

API Requirements

  • notate within model docs that if field is mandatory, don't add attribute default to the field. This prevents swagger from showing it a required.

Features to migrate

Existing work that may affect UI

Links

/cc @jasonpagetas, fyi and for your input

@jon-nfc jon-nfc added breaking-change label used to denote that the issue/Merge Request does/will introduce a breaking change type::specification Design specification labels Sep 19, 2024
@jon-nfc jon-nfc moved this to Planning in Centurion ERP Sep 25, 2024
This was referenced Sep 27, 2024
jon-nfc added a commit to nofusscomputing/centurion_erp_ui that referenced this issue Nov 10, 2024
jon-nfc added a commit to nofusscomputing/centurion_erp_ui that referenced this issue Nov 10, 2024
@jon-nfc jon-nfc added type::epic Issue Type is Epic User Story and removed type::specification Design specification labels Nov 25, 2024
@jon-nfc jon-nfc moved this from Backlog to Planning in Centurion ERP Nov 25, 2024
@jon-nfc jon-nfc removed the status in Centurion ERP Nov 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
breaking-change label used to denote that the issue/Merge Request does/will introduce a breaking change type::epic Issue Type is Epic User Story
Projects
Status: No status
Development

No branches or pull requests

1 participant