ShopSmart: MERN Grocery Store App
ShopSmart: MERN Grocery Store App
INTERNSHIP REPORT
on
BACHELOR OF TECHNOLOGY
in
ARTIFICIAL INTELLIGENCE & MACHINE LEARNING
By
[Link] NIKHIL
(Roll No. 23AK5A3310)
This is to certify that [Link] NIKHIL (23AK5A3310) has carried out Virtual Internship
on “Shop Smart – your digital grocery store experience” in (FULL STACK
DEVELOPMENT–MERN)” and submitted to the Department of ARTIFICIAL
INTELLIGENCE & MACHINE LEARNING of Annamacharya Institute of Technology and
Sciences, in partial fulfilment of the requirements for the award of the Degree of Bachelor of
Technology in Artificial Intelligence & Machine Learning is meeting the Academic
Regulations.
PLACE :
DATE : SIGNATURE
ACKNOWLEDGEMENT
The needs and deeds of a particular person are only satisfied with the support and endurance
of many.
I would like to express my deepest appreciation for All India Council for Technical
Education, AICTE New Delhi for their commitment to the betterment of technical education
and the opportunities they have made available to our students. I am deeply grateful to
Andhra Pradesh State Council of Higher Education (APSCHE) and SmartBridge
Educational Services Pvt. Ltd. for organizing the internship program.
I would like to extend my heartfelt thanks to Principal [Link] Reddy for his
constant encouragement and support during the Internship period.
I would like to express my heartfelt thanks to Dr.C. Siva Balaji Yadav, Professor and HOD,
Department of AI&ML during the progress of Internship for her timely suggestions and help
in spite of her busy schedule.
I would like to extend my heartfelt thanks to our department Internship Coordinator Mr.K.R.
Rohith Kumar, Assistant Professor, Department of AI&ML for providing consistent
support for us to complete the course modules in order to complete my internship.
My heartfelt thanks to Internship mentor [Link], Assistant Professor, Department of
AI&ML for her valuable guidance and suggestions in analysis and testing throughout the
period, till the end of Internship work completion.
Finally, I would like to express my sincere thanks to faculty members of AI Department, Lab
Technicians, Internship company trainers and friends, one and all that have helped me to
complete the Internship successfully.
[Link] NIKHIL
Roll No : 23AK5A3310
Full Stack Development-MERN
ABSTRACT
[Link], React, [Link]) web application designed to transform traditional grocery shopping
into a seamless digital experience. The platform enables customers to browse, search, and filter
products, manage a shopping cart and wishlist, and place orders with ease. In parallel,
administrators are provided with a secure dashboard for managing products, inventory, and
The system integrates a responsive React frontend, a [Link]/[Link] backend, and a cloud-
hosted MongoDB Atlas database, ensuring scalability, security, and performance. JWT-based
authentication and RESTful APIs strengthen data security and enable smooth communication
between client and server. Testing was carried out using Postman and browser DevTools to
While the current version does not yet include payment gateway integration or real-time delivery
tracking, these are identified as key opportunities for future enhancement alongside product
ratings, reviews, and a dedicated mobile application. By combining robust full-stack development
practices with a user-friendly design, ShopSmart demonstrates how digital platforms can
effectively modernize grocery shopping and meet the evolving needs of consumers in an
interconnected world.
CONTENTS
Page No.
1 Chapter1 ................................................................................................... 9
Introduction
2 Chapter 2 ............................................................................................... 10
Weekly Overview
3 Chapter 3 ............................................................................................... 11
Modules
4 Chapter 4 ................................................................................................ 18
Project
5 Chapter 5 ............................................................................................... 38
6 Chapter 6 ............................................................................................... 40
Verifiable Credentials
INTRODUCTION
INTRODUCTION
In today’s fast-paced digital world, technology has transformed the way people shop and access
essential services. With the increasing demand for convenience, online grocery platforms have
gained significant importance, enabling customers to purchase daily essentials from the comfort
of their homes. Traditional grocery shopping often requires physical visits to stores, which can
be time-consuming and inconvenient, especially for working professionals, students, and
elderly individuals. To address these challenges, ShopSmart was developed as a digital grocery
store solution.
ShopSmart is a full-stack MERN (MongoDB, [Link], React, [Link]) based web application
that provides a seamless and user-friendly grocery shopping experience. The platform allows
customers to browse, search, and filter grocery products, manage their shopping cart and
wishlist, and place orders efficiently. In addition, the application includes an Admin
Dashboard, enabling administrators to manage product listings, monitor inventory, and process
customer orders securely.
The need for ShopSmart arises from the growing trend of digital commerce and the necessity
for reliable, accessible, and scalable online solutions. By integrating modern technologies such
as JWT- based authentication, RESTful APIs, and a cloud-hosted database, ShopSmart ensures
data security, smooth functionality, and scalability. The application caters to both customers and
administrators, offering a complete ecosystem that bridges the gap between traditional shopping
and modern e- commerce practices.
Thus, ShopSmart not only addresses the limitations of traditional shopping but also showcases
the effective implementation of full-stack development principles to create a practical, secure,
and scalable web solution for everyday use.
WEEKLY OVERVIEW
Week 2
Requirement gathering and planning; Designing the system
Week 3
Setting up backend—[Link] and [Link]; Creating database
schemas and APIs with MongoDB.
Week 4
Frontend development—[Link] components, routing, and UI
design; Integration with backend APIs.
Week 5
Implementing key features—user authentication, product listing, cart,
and checkout functionality.
Week 6
Advanced functionalities—search, filters, payment integration, and
order management; Testing and debugging.
Week 8
Final compilation, testing, and submission of the full project along
with the project report.
CHAPTER-3
MODULES
Modules of ShopSmart – Your Digital Grocery Store Experience
The ShopSmart application is designed to provide users with a seamless, interactive, and efficient
online shopping experience. To ensure smooth functionality and organized development, the
project has been divided into several key modules, each focusing on a specific aspect of the
application.
Module 3: Cart
The Cart module manages the items that users intend to purchase. It allows users to add, remove,
or modify the quantity of products in their cart. Additionally, it calculates the total cost and
prepares users for a smooth checkout process. This module ensures a convenient shopping
experience by keeping track of selected items and providing a clear overview before purchase.
Module 4: Orders
The Orders module maintains a record of all user purchases and provides detailed order history. It
displays essential information such as order status (pending, shipped, delivered), payment
confirmation, and shipping details. This module enhances user satisfaction by keeping users
informed about their purchases and expected delivery timelines.
Module 6: Wishlist
The Wishlist module allows users to save products they are interested in purchasing later.
Instead of immediately adding an item to the cart, users can mark it as a favorite, ensuring they
do not lose track of it. This feature improves the shopping experience by enabling customers to
revisit saved items without searching for them again.
The module stores product IDs linked to the user’s account in the database, ensuring that the
wishlist is persistent across sessions. Users can easily move items from the wishlist to the cart,
Module 7: Profile
The Profile module provides users with access to their personal account details. It displays
basic information such as the user’s name and email address, which are stored in the database
during registration. Users are allowed to update their name if necessary, ensuring that their
profile remains accurate and up to date.
In addition to viewing and updating details, the profile module includes a logout option, which
securely ends the user session and prevents unauthorized access. This makes the module not
only useful for personalization but also essential for maintaining account security.
The Search Bar module allows users to quickly find products within the digital store. Instead
of browsing through categories, users can type keywords related to a product’s name, brand, or
category, and the system instantly displays relevant results.
This module improves efficiency and user convenience by enabling direct navigation to desired
products. On the backend, the search query is matched with the product database in MongoDB
Atlas, retrieving accurate and real-time results. It also supports partial matches, ensuring that
even if the user types only part of a product’s name, relevant suggestions are displayed. The
Search Bar enhances overall usability, reduces time spent in navigation, and ensures that users
can locate items with minimal effort—making it one of the most valuable features in improving
the online shopping experience.
PROJECT
Project Objective
The objective of the ShopSmart project is to develop a modern, user-friendly digital store
application that allows users to browse, search, and purchase products online efficiently. The
application aims to combine functionality with simplicity, ensuring a seamless shopping
experience for users of all ages. By integrating features such as secure payment options,
interactive dashboards, and an organized product management system, the project seeks to
provide a fully functional e-commerce platform that can simulate real-world online shopping.
Additionally, it is designed to support future scalability, allowing the addition of more features
such as product reviews, wishlist, and personalized recommendations.
• Simplifying Online Shopping for Users: Users can browse products, compare options,
and make purchases without visiting a physical store.
• Providing Real-Time Access to Products, Offers, and Order Information: The system
ensures that product availability, prices, and promotions are updated dynamically, giving
users accurate information at all times.
• Enabling Administrators to Efficiently Manage Products, Users, and Orders: Admins
can monitor the platform, manage inventory, and ensure smooth operations through a
centralized dashboard.
• Improving Overall Online Shopping Experience: Interactive and responsive design
elements enhance usability, while features such as search, filters, and notifications improve
engagement and convenience.
The purpose of ShopSmart is not just to create an application but to simulate a complete digital
shopping ecosystem that benefits both users and administrators.
• Frontend: [Link] – for building dynamic, interactive, and responsive user interfaces.
It allows component-based development, enabling easier updates and maintenance.
• Backend: [Link] and [Link] – for creating RESTful APIs, managing server-side logic,
and ensuring smooth communication between the frontend and database.
• Database: MongoDB – for storing user data, product details, order history, and other
essential information. Its flexible schema allows handling complex data structures
efficiently.
• Other Tools:
o HTML, CSS, JavaScript – for basic structure, styling, and interactivity.
o Redux (optional) – for managing complex frontend state across multiple components.
o Payment Gateway APIs – for secure and seamless online transactions.
o Nodemailer or similar – for sending notifications, order updates, and promotional
emails.
These technologies are combined in a MERN stack architecture, providing a robust, scalable, and
modern full-stack development solution.
1. Frontend Layer:
o Built using [Link] to provide a responsive and interactive interface.
o Includes all visible components: Home Page, Login/Register, Product Listing, Cart,
Orders, and Admin Dashboard.
o Ensures smooth user interactions with real-time updates for products, offers, and cart
changes.
2. Backend Layer:
o [Link] and [Link] handle all server-side operations.
o Manages API requests, user authentication, order processing, and other business logic.
o Ensures secure communication with the database and validates all inputs to maintain
data integrity.
3. Database Layer:
o MongoDB stores all essential information, including users, products, orders, and
admin data.
o Uses a flexible schema, allowing the addition of new features and data types without
major changes.
o Supports efficient queries and indexing to ensure fast retrieval of product listings and
user information.
CODE:
[Link]
<!DOCTYPE html>
<html lang="en">
<head>
<title>ShopSmart - Home</title>
<link href="[Link]
rel="stylesheet"/>
</head>
<body>
ShopSmart
</a>
<span class="navbar-toggler-icon"></span>
</button>
<li class="nav-item">
</li>
</ul>
</div>
</div>
</nav>
<h1>Welcome to ShopSmart</h1>
<input
type="text"
id="categorySearch"
class="form-control form-control-lg"
name" oninput="handleCategorySearch()"
/>
</div>
</div>
</div>
<script src="[Link]
<script>
const navbarButtons =
[Link]([Link]("user")); if (user) {
[Link] = `
`;
} else
{ [Link] = `
`;
function logout()
{ [Link]();
[Link] =
"[Link]";
</script>
<script>
return true;
function renderProducts(products) {
[Link] = '';
if ([Link] === 0) {
return;
[Link](product => {
[Link] = "col";
[Link] = `
<div class="card-body">
<h5 class="card-title">${[Link]}</h5>
</div>
</div>
</div>
`;
[Link](card);
});
function fetchProducts() {
fetch(`${API}/products`)
.then(data =>
{ allProducts = data;
renderProducts(allProducts);
})
.catch(err => {
});
function handleCategorySearch() {
);
renderProducts(filtered);
function addToCart(product)
{ if (!isLoggedIn()) return;
if (existing) {
[Link] += 1;
} else
{ [Link]
= 1;
[Link](product);
} else {
[Link]("instantOrder",
[Link](singleItemOrder)); [Link] =
"[Link]";
fetchProducts();
</script>
</div>
</body>
</html>
[Link]
<!DOCTYPE html>
<html lang="en">
<head>
<link href="[Link]
rel="stylesheet"/>
</head>
<body>
</nav>
<div class="card-body">
</div>
</div>
<div class="card-body">
</div>
</div>
</div>
<div class="card-body">
<h5 class="card-title">Analytics</h5>
</div>
</div>
</div>
</div>
= "[Link]";
[Link]";
</script>
</body>
</html>
background-color: #f8f9fa;
/* Navbar */
.navbar {
.navbar .navbar-brand,
.navbar .nav-link, .navbar .btn { color: white !
.navbar .btn-outline-warning,
/* Header */ header { background: linear-gradient(to right, #198754, #28a745); color: white; border-
radius: 10px;
/* Product Cards */
/* Product Buttons */
.card .btn {
.btn-primary {
background-color: #198754;
border-color: #198754;
#146c43;
#20c997;
.btn-success:hover
{ background-color: #17a589;
border-color: #17a589;
footer { background-color:
3rem;
To run the ShopSmart MERN Application, the following steps are followed:
4. Configure Environment Variables o In the backend folder, create a .env file with keys
such as:
o MONGO_URI = <your MongoDB Atlas connection string> o PORT = 5000
11. Right-click on it and choose Open with → Browser (Chrome, Edge, Firefox, etc.).
12. The application will run directly in the browser using the path:
[Link]
13. From there, you can access all modules such as Home Page, Login/Register, Cart,
Wishlist, Orders, Profile, and Admin Dashboard.
• User Registration & Login: Secure authentication system with password encryption,
session management, and password recovery options.
• Product Listing & Details: Dynamic product display with images, descriptions, ratings,
and prices; search, filter, and sorting functionalities for easy navigation.
• Cart & Checkout: Manage items, update quantities, and complete purchases with secure
payment integration.
• Order Management: Track order history, view status updates, and receive real-time
notifications.
• Admin Dashboard: Manage users, products, and orders efficiently; view analytics for
sales, inventory, and product performance.
• Notifications: Keep users informed about order updates, promotional offers, and new
arrivals through email or in-app messages.
• Convenient Shopping: Users can browse, select, and purchase products from anywhere at
any time.
• Efficient Administration: Admins can monitor and manage all aspects of the store
efficiently from a single dashboard.
• Automation & Productivity: Automates order tracking, inventory management, and
notifications, reducing manual effort.
• Enhanced Engagement: Interactive dashboards, dynamic product listings, and timely
notifications keep users engaged.
• Scalable and Future-Ready: The architecture allows easy addition of new features like
reviews, ratings, and advanced analytics.
Results
The ShopSmart project successfully achieved its objectives of developing a fully functional,
modern e-commerce application. The key results of the project are:
• The application provides a convenient and efficient shopping experience, meeting the
needs of users for easy product browsing, selection, and purchase.
• The admin dashboard simplifies product and order management, enhancing operational
efficiency.
• The use of the MERN stack enables a scalable, maintainable, and high-performance
solution, suitable for future upgrades and feature additions.
• Secure user authentication and payment systems ensure data safety and trust, which is
crucial for e-commerce applications.
• Overall, the project demonstrates the practical application of full-stack development
skills, combining frontend, backend, and database management into a cohesive platform.
CHAPTER-6
VERIFIABLE CREDENTIALS
[Link]
[Link]