The goal of this assignment is to build a prototype Ecommerce website(React.js)💻 / App(React Native)📱. This is just for the reference, but we encourage you to make your own designs.
The following pages have more details. Please read through the entire document for all the details.
-
It is just like an ecommerce website/app. 🛒
-
We assume the following modules to be present
- Navigation
- Home Page
- Product Page
- Cart System
- Product/Order Placement Page
-
The starting data of this application can be assumed to come from a JSON file
-
As an example, A JSON file has been given to you. You have to add minimum 10 data in the json provided.
- product_lists.json
-
Each of the element in the JSON file represents a product
- name: The name of the product (string)
- productId: The Id of the product which can be assumed to be unique uid (string)
- brandName: brand of the product (string)
- category: category of the product (string)
- companyAssured: represents the company assured Product(boolean)
- rating: Average rating of the product (float)
- price: Final price of the product(float)
- discount: discount on a product (float) in %
- imageURL: image of a product
- sellerName: Name of the seller(string)
- isNewProduct:type of the product(boolean)
You should use all the elements provided in the json in your UI.
-
It should have the following features
- When the app starts, the app loads the list of the products and displays the product with it's data.
- Main navigation eg: Home , My Favorites,My Cart , My Account,etc.
- User can select one or more products.
- User can add the products to the cart.
- User can see the selected products in the cart.
- User can remove the product from the cart.
- User can see a brief preview before clicking on the product.
- User can buy a product.
- When a user go for buying a product, he/she will get a form in which he/she should must fill the mandatory fields like Name,email,Phone Number,Address,Pincode,etc.
- After filling the form, user will get a message for successful order placement.
- User favourite a product.
- User can see his/her favorite products inside the My Favorites section.
-
Fork current problem repository, and make your forked repository private.
-
Add
@divyansh420
as collaborator ➕ while intializing repository in github. and follow the given timeline instructions from your e-mail. -
Brownie 🍮 points to the deployed webapps(If you can, but not mandatory).
-
React Native candidates MUST submit the debug apk.
-
⚠️ ⚠️ PLEASE SUBMIT SCREENSHOTS OR VIDEO OF YOUR WORKING APP
- You will be evaluated on the Working Prototype ✅ of the app with the following:
- UI & design 🎨
- Modularity of Code
- Data Structures used
- Logic and cleanliness of code.
- Completeness.
product_lists.json
[
{
"name": "EUROLINE 810 POP UP 700 W Pop Up Toaster (White)",
"productId": "EURO19938201",
"brandName": "EUROLINE",
"category": "Pop Up Toasters",
"companyAssured": false,
"rating": "4.2",
"price": "12232",
"discount": "50%",
"imageURL": "https://rukminim1.flixcart.com/image/416/416/k5lcvbk0/pop-up-toaster/2/j/w/euroline-820-pop-up-810-pop-up-original-imafz8h3duveqgh7.jpeg?q=70",
"sellerName": "telform inc.",
"isNewProduct": true
},
{
"name": "Morphy Richards 25 L Convection Microwave Oven (MWO 25CG, Steel)",
"productId": "EURO19938202",
"brandName": "Morphy",
"category": "Microwave Ovens",
"companyAssured": true,
"rating": "3.9",
"price": "10999",
"discount": "11%",
"imageURL": "https://rukminim1.flixcart.com/image/416/416/microwave-new/v/q/y/morphy-richard-25cg-original-imaec2ddymudmze3.jpeg?q=70",
"sellerName": "Kwitch Retails",
"isNewProduct": false
}
]