To run locally use the command yarn dev
To run tests use the command yarn test
- Implement a linter and code formatter to improve code readability and maintainability.
- Built rudimentary UI to solve problem
- Encapsulated business logic into a custom hook (however I would recommend moving this logic serverside).
- Use Vitest for unit testing to ensure the reliability of the application.
- Implement TypeScript to improve the developer experience and catch errors early in the development process.
User Interface Improvements
- Implement visual enhancements to improve the overall aesthetics of the user interface.
- Update the display of retail prices to reflect any applicable discounts.
- Incorporate a visual element to clearly indicate discounts applied to the cart.
- Create a consistent design theme using Vanilla Extract.
- Consolidate and streamline CSS files to improve maintainability.
- Utilize CSS variables to facilitate scalable and efficient layout updates.
- Improve responsive design to ensure optimal viewing experience across different screen sizes.
Error Handling and Accessibility
- Implement a React Error Boundary for improved error handling.
- Continuously evaluate and improve accessibility compliance.
Testing
- Utilize Playwright for End-to-End testing and increase test coverage.
- Add further unit tests
Performance Optimization
- Consider implementing server-side rendering for improved SEO.
Code Quality and Maintainability
- Implement the builder pattern within classes for improved organization and maintainability.
- Utilize a value object to handle currency operations in a consistent manner. The current implementation has rounding issues
- Consider refactoring the logic within the domain directory to improve maintainability and align with best practices and business requirements.
Testing
- Increase test coverage to ensure the reliability and robustness of the system