Design Forum: Updating AcadeMix admin panel

We need to discuss about few endpoints that we need to use to edit Categories, Subcategories, Items. Since this is a basic requirement that we need in Academix Admin Dashboard we need to update current endpoints.

  • We need to be able to change the category when editing the subcategories

Who: @YohanAvishke @jaye @piumal1999 @anjisvj @Gravewalker @Gimhan_minion

Where: Google meet: meet.google.com/aua-dmck-hgp

When:
2020-07-08T11:30:00Z2020-07-08T12:15:00Z

  • Wed, 8th July 15:00 IST
  • Wed, 8th July 16:00 IST
  • Wed, 8th July 17:00 IST
  • Thu, 9th July 16:00 IST
  • Thu, 9th July 17:00 IST

0 voters

1 Like

Participants

@piumal1999
@anjisvj
@YohanAvishke

Notes from the meeting:

Issues

  • The PUT requests for Categories, Subcategories and Items won’t update correctly

Suggestions

  • “Edit subcategory” should be able to edit it’s category too

Next Steps

  • Update the endpoint to edit categories along with the subcategory
  • Fix the PUT requests to accept data according to the new structure

Apart from the above I have the following suggestions. :hugs:

  1. Create put requests for the Categories, Subcategories and the Items.
  2. The post request of items has a query parameter to add subcategories. Move them to the body.
  3. The post request of the subcategory contains the category Id as a path param. Currently it’s /academix/subcategories/{categoryId} the url pattern should be changed. Or better to have the category object in the body.
  4. GET Subcategory payload should contain the category of that subcategory.
  5. GET Item payload should contains the subcategories of that item.
  6. On the “Add an item” view, the subcategory chooser should display the category of each subcategory.
2 Likes

Thank you! @jaye Who can work on these suggestions @Gimhan_minion @piumal1999 @YohanAvishke ?

@piumal1999 can you work on these changes

1 : is already completed
2 ,3: Remove the query params and make requests accept data in the body
4,5,6 : Remove the data that needs to be returned from @JsonIgnoreProperties annotation in respective classes
On top of these changes, you will have to change sub-category and item PUT requests to make it possible to update their parents. For this, in the child classes, you will need to change the child-parent relationships to Cascade = Merge

If you face any issues regarding these changes please ping me

2 Likes

I’ll work on this😊 Thanks

2 Likes

So the GET sub-category payload should look like this… right? @jaye @YohanAvishke

And this is item GET payload

1 Like

Do we need category payload with the item payload? @jaye

Added the reqested changes to the PR. Please review and merge.

Actually we don’t need it. But it will be there with the default behavior. We need to add a projection to remove them.
One thing we can do is removing irrelevant details from the items (not single item) payload.

Code review on Updating Academix APIs

Held on:
2020-07-12T06:00:00Z2020-07-12T07:30:00Z

Attendees:
@piumal1999 @jaye @YohanAvishke @Gravewalker @anjisvj @Gimhan_minion

Description:
The code review was about updating GET, POST, PUT requests of academix subcategories and items

Notes:

Following suggestions were made on the code review.

  1. Remove LAZY fetch on subcategory-catergory and item-subcategory relationships
  2. Create a custom projection for listing items in a subcategory
  3. Rewrite PUT requests of category, subcategory and item
  4. Removing join table attribute on item-subcategory relationship

And also had a discussion on Cascade types and fetch types.

Next steps:
Update the PR with the mentioned suggestions

3 Likes