raunak-dev-edu / JuiceMart

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

JuiceMart Website

Overview

JuiceMart is an online store designed for the convenience of ordering refreshing juices and soft drinks from the comfort of your home. This platform offers a seamless experience for users to explore a variety of products, manage their accounts, and enjoy the ease of online shopping for their favorite beverages.

image

Features

User Account Management

  • Login/Signup: Securely create an account or log in to an existing one.
  • Update Profile/Password: Manage and modify user profile information and password securely.
  • Reset Password: Utilize nodemailer to receive password reset emails for enhanced security.

Shopping Cart

  • Add/Remove Items: Easily add or remove items from the shopping cart.
  • Update Quantities: Adjust product quantities directly within the cart.

Product Management

  • Products: Browse a wide range of juices and soft drinks.
  • Product Search: Find specific products quickly using the search feature.
  • Product Filters: Filter products based on categories, ratings, and price ranges.

Order Management

  • Shipping Info: Conveniently store shipping information in session storage.
  • My Orders: Access a comprehensive list of orders with various filters.
  • Order Details: View detailed information about each ordered item.

Product Reviews

  • Review Products: Share your feedback on products through user account reviews.

Admin Dashboard

  • Dashboard Access: Exclusive access to admin roles.
  • Update Order Status: Modify the status of orders, ensuring accurate order tracking.
  • Delete Order: Remove unwanted or canceled orders from the system.
  • Add/Update Products: Manage the product catalog with the ability to add or update items.
  • Update User Data/Delete User: Admin-level control over user data, including updates and deletions.
  • List Reviews/Delete Review: Access and manage product reviews.
  • Stock Management: Automatically decrease product stock upon shipping.

Tech Stack

Frontend

  • ReactJS: Building responsive user interfaces.
  • React Router: Enabling seamless navigation within the application.
  • Redux: Managing the state of the application.
  • Chart.js: Visualizing data through charts.

Backend

  • Node.js: Powering the backend server.
  • Express.js: Facilitating the creation of robust APIs.
  • MongoDB: Storing and retrieving data efficiently.
  • JWT (JSON Web Tokens): Ensuring secure authentication.
  • Nodemailer: Handling the sending of password reset emails.

How to Run the Project

  1. Clone the Repo:
git clone https://github.com/raunak-dev-edu/JuiceMart.git
  1. Configure Environment Variables:

Navigate to the 'config' directory and create a config.env file. Add the following parameters:

DB_URI="your mongodb url"
STRIPE_API_KEY=
STRIPE_SECRET_KEY=
JWT_SECRET=
JWT_EXPIRES_TIME=5d
COOKIE_EXPIRES_TIME=5
SMTP_SERVICE=gmail
SMTP_EMAIL=
SMTP_PASSWORD=
SMTP_HOST=smtp.gmail.com
SMTP_PORT=465
CLOUD_NAME=
CLOUD_API_KEY=
CLOUD_API_SECRET=
  1. Start the Backend Server:
cd backend
npm start
  1. Start the Frontend Server:
cd frontend
npm start

Access the Application:

Once both the backend and frontend servers are running, open your web browser and go to http://localhost:3000 to access the JuiceMart application. Now, your app will be running locally on http://localhost:3000. Enjoy shopping with JuiceMart!

About


Languages

Language:JavaScript 77.7%Language:CSS 22.0%Language:HTML 0.3%