Ecommerce Web Application in React This repository contains the source code for an Ecommerce Web Application built using React. The application provides users with a user-friendly interface to browse and purchase products from the online store.
You can try it on Here
# To access as Admin:
user: admin@admin.com
pass: 123456
# To access as User:
user: user@user.com
pass: 123456
# You can create a user with email and password.
# Google login in also supported.
- Browse products by categories
- Search for products
- Add products to the cart
- View and edit the cart
- Checkout and place orders
- User authentication and registration. Create new users and login.
- Admin and user dashboard for managing products and orders.
- Admin account to add, edit and delete products.
-
React: Powers the entire frontend of the Ecommerce Web Application. It enables the creation of reusable UI components for different parts of the application, such as product listings, shopping cart, checkout, etc.
-
Redux: Manages the application's state, including the user's cart items, user authentication status, and other global data. It ensures a predictable state flow and allows different components to access and modify the application state seamlessly.
-
React Router: Handles client-side routing within the application. It enables navigation between different pages, such as product details and checkout, without triggering a full page reload, resulting in a smoother user experience.
-
Styled Components: Used to style the React components in a modular and component-based manner.
-
Node.js: Powers the backend server of the Web Application. It handles HTTP requests from the frontend, interacts with the database, and processes tasks such as user authentication, and and everything related to products, adding, editing and deleting them.
-
Express: Serves as the web application framework on top of Node.js. It defines the routes for handling API requests from the frontend, communicates with the database, and performs other server-side operations.
-
MongoDB: Stores product information, user details, and order data.
-
JSON Web Tokens (JWT): Used for user authentication and authorization. When a user logs in, the server generates a JWT, which is then stored on the client-side. The JWT is sent with subsequent requests to verify the user's identity and access rights.