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.
Solution for frontend assignment
Demo: https://harbor-jx59y6lj0-anilguggilam.vercel.app/
Hosted on Vercel.
Local setup
yarn dev
(should start localhost at 3000 porthttp://localhost:3000/
)Tech choices
Note:
Atomic design pattern
The idea is the structure components in the following format: atoms > molecules > organisms > templates > pages.
Adhering to the atomic design pattern in ReactJS offers a primary benefit centered around the upkeep and expansion of the codebase. The approach involves fragmenting the UI into smaller, self-contained elements, resulting in heightened comprehensibility, testability, and logical assessment of distinct application segments. Consequently, this simplifies the process of updating, altering, or rectifying these components, thereby minimizing the likelihood of introducing errors or disrupting existing functionalities. Furthermore, employing a design system fosters a uniform and modular framework for constructing the UI, fostering predictability and scalability within the codebase. This, in turn, facilitates the seamless incorporation of new features and future expansion of the application.
Assumptions during development
PS: There is still scope for improvement and any feedback is appreciated.