ShopCity

Shopcity, an advanced full-stack e-commerce platform, guarantees a secure and seamless shopping experience. Offering a wide product selection, effortless checkout, thorough review system, and live order tracking, Shop City revolutionizes online shopping for ultimate convenience and confidence.

Stars
1
Committers
2

ShopCity 💖

Logo

Shopcity - Full Stack E-commerce Application

Shopcity, an advanced full-stack e-commerce platform, guarantees a secure and seamless shopping experience. Offering a wide product selection, effortless checkout, thorough review system, and live order tracking, Shopcity revolutionizes online shopping for ultimate convenience and confidence.

Table of Contents

  • Code Base
  • Technologies Used
  • Features
  • Prerequisites
  • Installation
  • Deployment
  • Usage
  • Contributing
  • License

Code Base

  • BackEnd/

    • view/
      • forgot-password.html
      • standard.html
    • config/
      • google.auth.js
    • database/
      • db.js
    • controllers/
      • user.controller.js
      • product.controller.js
      • cart.controller.js
      • order.controller.js
      • review.controller.js
    • middlewares/
      • authentication.js
      • authorization.js
    • models/
      • user.model.js
      • product.model.js
      • cart.model.js
      • order.model.js
      • review.model.js
      • reply.model.js
      • query.model.js
      • blacklist.model.js
    • routes/
      • user.routes.js
      • product.routes.js
      • cart.routes.js
      • order.routes.js
      • review.routes.js
      • checkout.route.js
    • index.js
    • package.json
  • FrontEnd/

    • view/
    • Admin/
    • scripts/
    • styles/
    • Images/
    • index.html
  • README.md

Technologies Used

  • Shopcity is built using the following technologies :

  • Frontend :

    • HTML
    • CSS
    • Bootstrap
    • JavaScript
  • Backend :

    • Node.js
    • Express.js
    • mongoose
  • Database :

    • MongoDB Atlas
  • Payment Gateway :

    • Razorpay
  • File Storage :

    • AWS S3
  • Authentication :

    • Google OAuth
    • passport
    • passport-google-oauth20
  • Other Node Packages :

    • JWT
    • bcrypt
    • nodemailer
    • multer
    • sharp
    • @aws-sdk/client-s3
    • @aws-sdk/s3-request-presigner

Features

Shopcity offers a wide range of features to both customers and administrators, making it a complete e-commerce solution.

  • User registration with email verification & Login
  • Integration of Google authentication as a third-party service
  • Password recovery mechanism through the use of email links
  • Implementation of authentication using JSON Web Tokens
  • Hashing of confidential information for enhanced data protection
  • Display of a comprehensive product page showcasing all available items
  • Detailed information page to provide an in-depth view of each product
  • Creation of a cart page for efficient management of selected items
  • Real-time quantity management to ensure accurate stock control
  • Seamless checkout process enabling customers to place orders
  • Implementation of real-time payment processing utilizing Razorpay
  • Dedicated order page to monitor and manage customer orders
  • Inclusion of a product review section for user feedback and evaluations
  • User profile page facilitating the viewing and updating of personal details
  • Efficient handling of multimedia data by leveraging AWS S3 services
  • Contact section to enable users to raise queries or seek assistance
  • Sending notification emails and alerts to keep users informed
  • Administration controller equipped with all functionalities
  • Optimize user experiences across mobile, tablet, and desktop devices with a responsive design.

Prerequisites

  • Node Js
  • MongoDB
  • npm modules
  • Git

Installation

Deployment

The backend of this project has been deployed using Cyclic, and the front end has been deployed on github.io.

Usage and SnapShots

Welcome to Shopcity, your premier online shopping destination. Customers enjoy a seamless experience with easy registration, browsing, shopping, and secure real-time payments. Administrators have efficient control over products, orders, and users through our user-friendly platform. For assistance, visit our FAQ or contact our dedicated support team. Shopcity delivers a professional e-commerce experience.

Home Page

Sign Up Page

  • Complete your profile with essential details. After successful registration, verify your email to gain access and start using our website.

Sign In Page

  • The OAuth Authentication features allow users to sign up and log in to the website using their Google accounts.

Product Page

  • Explore our product page for a curated selection of high-quality items to meet your needs and preferences.

Product Detailed Page

  • Delve deeper into product details with magnified images and access valuable customer reviews for an informed shopping experience.

Cart Page

  • Effortlessly manage your shopping cart, adding, removing products, and adjusting quantities to tailor your order to perfection.

Checkout Page

  • Finalize your order by entering shipping details. Choose from multiple Razorpay payment options or enjoy the flexibility of Cash on Delivery for a seamless shopping experience.

Order Page

  • View all your orders here, with the option to cancel if needed. Share your valuable feedback on delivered items to help us serve you better.

Profile Page

  • Manage your profile effortlessly. View and update personal details, change your password, and add a personal touch with a custom profile picture.

Contact Page

  • Reach out to us for assistance with account creation, payments, order queries, or any other concerns you may have.

Administration Controls

  • Empower administrators with comprehensive control and management tools for seamless oversight of products, orders, and user accounts

Dashboard Page

  • Track product performance, orders, revenue, and user growth on our dashboard for informed, data-driven decisions and control.

User Control Page

  • Effortlessly manage user accounts in one place. Take control by blocking users when needed, and send alert emails to keep your user community informed and engaged.

Product Control Page

  • Admins can easily manage the product catalog here. Add new products, update quantities, and make changes to details and images effortlessly to keep your offerings up to date.

Order Control Page

  • Effortlessly manage orders with the ability to update order statuses and easily keep track of all your orders in one place for streamlined order processing.

Review Manage Page

  • Explore user reviews, filter out inaccurate feedback, and empower customers to make informed choices by providing a curated selection of valuable product reviews.

Feedback Query Page

  • Effortlessly handle user queries, process them, and send announcement emails to address issues promptly and keep your users informed about the resolution.

About us

  • Discover comprehensive details about the website's functionality and easily access developer contact information for inquiries and support.

Contributing Team Details

We welcome contributions from the community to help improve Shopcity and make it even better.

  • Nitesh Kumar
  • Kishan Sharma

License

This project is licensed under the MIT License. See the LICENSE file for details.