Below is brief documentation and instructions for setting up and testing the project.
- View products
- Paginate / search for products
- Add products to cart
- Remove products from cart
- See a list of products in cart
- See the total price of the items in cart
- Change the currency
- Check out
- ReactJS - Library for web and native user interfaces
- Next.js - The React Framework for the Web
- Redux Toolkit - The official, opinionated, batteries-included toolset for efficient Redux development
- TailwindCSS - Rapidly build modern websites without ever leaving your HTML
- daisyUI - The most popular component library for Tailwind CSS
- Jest - Delightful JavaScript Testing Framework with a focus on simplicity
- React Testing Library - Simple and complete testing utilities that encourage good testing practices
- Lodash - A modern JavaScript utility library delivering modularity, performance & extras
Clone the repository:
git clone https://github.com/wisnuvb/acme-store-main.git
cd acme-store-mainnpm install --legacy-peer-deps
# or
yarn install && yarn upgradeIf you are using yarn, it is highly recommended to do a yarn upgrade so you can run tests smoothly. This is because this project has some dependencies that are outdated.
npm run test
# or
yarn testnpm run dev
# or
yarn devIf you don't change the port, you can access it at http://localhost:3000
- Mobile Optimization: The application has not yet been fully optimized for mobile displays.
- Dependencies: Some dependencies are outdated and may require updating before running tests.
If you encounter issues related to dependency conflicts or errors:
- Ensure that you have followed the steps for updating dependencies.
- Check for any peer dependency warnings and resolve them as necessary.
This project is not yet perfect. While I have followed the instructions and implemented the features as required, there is still significant room for improvement. Areas such as linting, code cleanliness, readability, maintainability, testing, and documentation can all be enhanced. The current implementation does not yet meet production standards. However, I have made every effort to deliver the best possible solution within the available timeframe.
Thank you for taking the time to review my work. I appreciate your feedback and look forward to any suggestions you may have.