Tech Stack: React, Redux, TypeScript. Styling: MUI, and CSS/SASS
Pages
- Home page (list all the products)
- Product page (contain the details of a product)
- Dashboard page
Functionalities for a Visitor:
- Get list of products
- Filter products by categories or price
- Search products by name
- Add products to a cart
- Remove products from a cart
Functionalities for an Admin:
- They can list all users, delete or block a user.
- Add a new category, update info of a category, remove a category
- Add new product, update info of a product, remove a product
Authentication:
- Implemented a register and login functionality via email and password
- Protected the routes based on login and admin status
Form Validation:
- Implemented form validation.
Extra features:
- Messages, show loading, success, and error messages (e.g., when loading products list or adding new product)
- Pagination feature