[Dashboard] - Refactor Project Structure - #3392
Merged
Merged
Conversation
…idgets dirs and filled them properly
|
The latest updates on your projects. Learn more about Vercel for Git ↗︎
2 Skipped Deployments
|
…o kb/refactor-structure-dashboard
…o kb/refactor-structure-dashboard
dnechay
reviewed
Jun 23, 2025
dnechay
left a comment
Collaborator
There was a problem hiding this comment.
Nice work!
Some suggestions:
- Maybe we move
shared/lib/envtoshared/config/env? We don't have some utilities for env, just config parsing and validation, so it feels more natural to look for it in someenvorconfigpath, rather thanlib - I'm not entirely sure about removing
index.tsfiles in places likeshared/lib. The only benefit I see (but might miss something) of having libs as "one-per-file" and importing them directly is tree-shaking, but in this particular case it looks like we use majority of them altogether, so there will be no practical improvement. Anyway, we can keep such approach forsharedlibs and group them later for better structure (e.g.import formatHmtDecimals from shared/lib/formatters/hmtDecimals), but keepindex.tsfiles for libs in features, because it's supposed to load altogether (features/graphas for example) - Not related to this PR, but in general: maybe in future we get id of extra requests for getting
lastPageIndexand change API to returnhasMore: boolean, just as an idea
…NumericFormat package; update imports to be relative
dnechay
approved these changes
Jun 24, 2025
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.
Issue tracking
Not ticketed
Context behind the change
We wanted to rewrite the project using some established solution for architecture in order to make the app's code better.
The Feature Sliced Design fits in well for the app. You can read about this architecture here.
Now we have a feature oriented structure of the project, where an each meaningful feature absorbs all the necessary assets around itself and make the structure more clear and straightforward.
The components/helpers that are supposed to be reused across the app are now located in the
shareddirectory.Each page looks like a high level constructor, that only imports a linked feature and UI widgets.
Other changes:
tsccheck tolintscript and pre-commit hooksvgrpackageusePaginationhook for the tables within the search featureA comparison of previous structure and current:
How has this been tested?
Locally; I've made sure the functionality remains intact
Release plan
regular plan
Potential risks; What to monitor; Rollback plan
I only might've missed something that stoped working after restructuring