Skip to content

CS461 Check-in: A (4) #9

@raihanm26

Description

@raihanm26

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:

  1. Dynamic search that filters holdings by investor or ticker and updates results.
  2. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions