Conversation
…on.md instead of readme.md per reqs
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Hi all!
So the changes I made revolved around updating the frontend and slightly adjusting the backend. I updated the frontend to be consistent with Solace's main site, thereafter I utilized one of my favorite ways to display table data: MUI-X Datagrid. I have a ton of experience with these after introducing them myself to my current role's web apps. I put the column definition within a separate config folder, however to be transparent, this may not always be the best practice. In some cases where you may want to make a cell editable, and utilize a custom input component, from my experience it may be easier to include this column def within the file of your datagrid in case you're wanting to validate the row the user edits. But in this instance, I thought it would be neater to keep it outside of the main file given that there was no real need for it to be there.
Given that we wanted to act as if the backend and frontend were two separate code bases, I utilized react-query to handle fetching and what little server state we had for the frontend. And on the backend I tried to utilize a router/validator/controller/service structure for the api but given it was such a minimal endpoint, I went ahead and stuck with a route and controller file.
I believe this was an improvement on the previous implementation by implementing a consistent ui to align with Solace's main web app while also introducing react-query to handle server state, and other hooks to maintain an optimal performance.
As stated in the discussion.md, this was a lot of fun, thanks for the opportunity!