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.
- Code Base
- Technologies Used
- Features
- Prerequisites
- Installation
- Deployment
- Usage
- Contributing
- License
-
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
- view/
-
FrontEnd/
- view/
- Admin/
- scripts/
- styles/
- Images/
- index.html
-
README.md
-
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
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.
- Node Js
- MongoDB
- npm modules
- Git
- Clone the repository : git clone : https://github.com/Niteshthori24198/ShopCity
- Install dependencies : npm install
- Start the server : npm run server
The backend of this project has been deployed using Cyclic, and the front end has been deployed on github.io.
- Github.io : https://mrkishansharma.github.io/shop-city.github.io/
- BackEnd : https://shopcity-be-niteshthori24198-niteshthori24198s-projects.vercel.app/
- Github : https://github.com/Niteshthori24198/ShopCity
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.
- Complete your profile with essential details. After successful registration, verify your email to gain access and start using our website.
- The OAuth Authentication features allow users to sign up and log in to the website using their Google accounts.
- Explore our product page for a curated selection of high-quality items to meet your needs and preferences.
- Delve deeper into product details with magnified images and access valuable customer reviews for an informed shopping experience.
- Effortlessly manage your shopping cart, adding, removing products, and adjusting quantities to tailor your order to perfection.
- 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.
- 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.
- Manage your profile effortlessly. View and update personal details, change your password, and add a personal touch with a custom profile picture.
- Reach out to us for assistance with account creation, payments, order queries, or any other concerns you may have.
- Empower administrators with comprehensive control and management tools for seamless oversight of products, orders, and user accounts
- Track product performance, orders, revenue, and user growth on our dashboard for informed, data-driven decisions and control.
- 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.
- 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.
- 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.
- Explore user reviews, filter out inaccurate feedback, and empower customers to make informed choices by providing a curated selection of valuable product reviews.
- Effortlessly handle user queries, process them, and send announcement emails to address issues promptly and keep your users informed about the resolution.
- Discover comprehensive details about the website's functionality and easily access developer contact information for inquiries and support.
We welcome contributions from the community to help improve Shopcity and make it even better.
- Nitesh Kumar
- Kishan Sharma
This project is licensed under the MIT License. See the LICENSE file for details.