Overview • Project • Instructions • Deliverables
The purpose of this project is for you to demonstrate your knowledge acquired in the Specialized Redux Bootcamp. With this E-commerce project, you will have the opportunity to show your React skills by adding functionality and applying Redux Toolkit, the toolset for global state management that you have learned in this Bootcamp. Here you will find all the instructions to complete and deliver your Redux Capstone Project. |
This repository contains the minimum structure of an E-commerce called WizeStore with three modules:
Here is the link to the demo application. |
Before starting:
|
All deliverables are cumulative, and for each delivery:
|
You must submit three deliverables on the following dates:
|
In this assignment, you will create the Products module.
|
The following is the list of acceptance criteria (AC) and points for completing your first deliverable:
AC | Description | Points |
---|---|---|
1 | ☑️ Your Products module reads data products correctly from this mock file. | 30 |
2 | ☑️ Your Products module displays your CSS styles correctly. | 20 |
3 | ☑️ For each product, the following elements render correctly: • One image of the product. • The product name. • The first category. • The product price. • The "Add to cart" button without functionality. |
50 |
In this assignment, you will create both the Cart and Login module.
|
The following is the list of acceptance criteria (AC) and points for completing your second deliverable:
AC | Description | Points |
---|---|---|
1 | ☑️ Your Cart module reads products correctly from this mock file. | 10 |
2 | ☑️ Your Cart module displays your CSS styles correctly. | 10 |
3 | ☑️ For each product, the following elements render correctly: • One image of the product. • The product name and its label "Product details". • The quantity input and its label "Quantity". • The product price and its label "Price". • The total amount and its label "Total". • The "Remove" button without functionality. |
15 |
4 | ☑️ The "Quantity" input only allows positive numbers and affects the total cost of the product, the total items, and the total cost in the "Summary" section. | 10 |
5 | ☑️ For the "Summary" section, the following elements render correctly: • The heading with the text "Summary". • The total items in the cart and its label "Items". • The total cost of the items in the cart and its label "Total cost". • The "Checkout" button without functionality. |
15 |
6 | ☑️ Your Login module displays your CSS styles correctly. | 10 |
7 | ☑️ Your Login module render correctly the following elements: • The heading with the text "Welcome to the WizeStore!". • The username input and its label "Username". • The user password input and its label "Password". • The "Login" button. |
15 |
8 | ☑️ Your Products and Cart modules redirect to the Login module if the user is not authenticated. | 15 |
In this final assignment, you will fetch the API and add Redux Toolkit to manage the state of your application.
Stay tuned on Slack because we will send you your API key on Friday, July 8th, 2022, so you will be allowed access to the API.
|
The following is the list of acceptance criteria (AC) and points for completing your third deliverable:
AC | Description | Points |
---|---|---|
1 | ☑️ Your Products module fetches the API | 15 |
2 | ☑️ Your project uses Redux Toolkit for its global state management. | 25 |
3 | ☑️ On the Products module, the "Add to cart" buttons allow adding products to the Cart module. | 15 |
4 | ☑️ On the Cart module, the "Quantity" input updates the Redux store and affects the totals of that product and the "Summary" totals. | 15 |
5 | ☑️ On the Cart module, the "Remove" buttons allow removing products from the Cart module and affect the "Summary" totals. | 15 |
6 | ☑️ On the Cart module, the "Checkout" button displays the API response on another page if there are items in the cart. | 15 |
The bonus is a plus that helps us know you better and increments your final score. Consider the following:
Bonus | Description | Points |
---|---|---|
1 | ☑️ Use unit testing to validate your components using Jest, React Testing Library, and/or Mock Service Worker. | 10 |
2 | ☑️ Utilize third-party authentication providers for your Login module like Auth0. | 10 |
3 | ☑️ Add a search bar functionality to the Products module. | 10 |
4 | ☑️ Add products to the Favorites module. | 10 |