-
Notifications
You must be signed in to change notification settings - Fork 0
Description
I meet all B-level requirements and additionally satisfy all A-level criteria.
Atomic commits:
Commits are small and focused, each addressing a single concern (adding a component, implementing search logic, adding tests, refactoring constants).
Custom data model:
Application data is modeled using a custom class (src/models/Holding.js) instead of raw objects.
Two key features implemented:
- Dynamic search that filters holdings by investor or ticker and updates results.
- Client-side navigation/routing via NavBar and centralized ROUTES constants.
Automated tests validate features:
Vitest tests in src/search.test.jsx validate the search callback behavior and results rendering (empty + populated results).
Code quality:
Long lines are avoided, files include header comments, and shared values (routes, UI spacing, colors, sample data) are centralized in constants.js.
Clear file structure:
Code is separated into components/, models/, shared constants, and tests.