E-Commerce application that allows users to purchase a list of products. Features implemented for this release focus on the client experience which enables customers to search, add to cart, and checkout. User authentication and product details with reviews, wishlist, and Q&A sections are potential features for future releases.
This application:
- Use a modern JS library/framework: React
- Include user interactions such as viewing product list and product details, searching products, adding or removing a product to/from a shopping cart, and initiating the checkout process
- Utilize MVC architectural pattern
- Integrate with a node server with CRUD operations
- Integrate with Firebase API and Stripe API
- Utilize MUI components, e.g., Grid, Drawer, AppBar, Box, Toolbar, Typography, InputBase, Badge, Card, Button, Rating, Modal, and List
- Create reusable product component and cart component
-
Clone the repo
git clone https://github.com/your_username/react-ecommerce.git
-
Install NPM packages
npm install
-
Update
.env
file based on.env.example
-
Run webpack
npm start
-
Connect to server
npm run server
This component will guide the customer through selecting a specific category.
General information about the product will be displayed at the top of the product list, including star rating, product category, product title, price, and product description.
Users are able to filter the products for any that contain text matching the search term. The filter continues to update as the user adds or removes characters.
Users are able to add products to their carts.
Users are able to modify the quantity of the products selected into the user's cart.
Users are able to checkout by providing billing info.
The web-based interface was designed using Figma.
All the product and cart data are stored in realtime with the Firebase Realtime Database. Data is stored as JSON and synchronized to every connected client. All clients share one Realtime Database instance and automatically receive updates with the newest data.
This application integrates payment gateways to accept payment online. The payment connects to the Stripe payment API. After users enter detailed info into the checkout form, the application will send the detailed info to the Stripe API.