TINA NM REPORT
TINA NM REPORT
A PROJECT REPORT
Submitted by
Tina S 210121104039
1
ANNA UNIVERSITY: CHENNAI-600025
BONAFIDE CERTIFICATE
SIGNATURE SIGNATURE
Dr.Jerry Alexander M.E.,(Ph.D) Mrs. S.DEEPA M.E
HEAD OF THE DEPARTMENT ASSISTANT PROFESSOR
Department of Computer Science Department of Computer
And Engineering, Science And
Engineering,
Alpha College Of Engineering Alpha College Of
Engineering Thirumazhisai-600124 Thirumazhisai-600124
This project work was submitted for viva voice held on at Alpha College Of
Engineering Subject Code/Name: NM1042 MERN Stack Powered by Mongo DB.
1. Introduction
Project Title: ShopEZ: E-commerce Application
Team members :
Tina S
Akshaya Nanthini V S
Shoban Kumar C
Deepak Roshan J
2. Project Overview
Purpose:
ShopEZ is designed to cater to the growing need for efficient and user-friendly e-commerce platforms. It bridges the
gap between complex online shopping systems and user convenience by providing streamlined navigation, secure
transactions, and personalized product recommendations. Additionally, the platform empowers sellers with a
dashboard for managing their inventory, processing orders, and accessing analytics to drive growth.
Features:
Seamless Checkout: Secure and smooth payment process with instant order confirmations and email notifications.
Effortless Product Discovery: Advanced search capabilities, intuitive category navigation, and powerful filters to
help users find exactly what they need.
Personalized Recommendations: AI-driven algorithms analyze user behavior to provide curated product
suggestions.
Seller Dashboard: Comprehensive tools for inventory tracking, order processing, and analytics to monitor
performance metrics.
Real-time Analytics: Data-driven insights for sellers, highlighting sales trends, customer preferences, and product
performance.
3. Architecture
Frontend:
Developed using React.js for its component-based architecture and state management capabilities.
Database:
MongoDB serves as the database, storing collections for:
Users: Authentication credentials, profiles, and purchase history.
Products: Information on inventory, prices, categories, and descriptions.
Orders: Details about placed orders, delivery status, and payment.
This architecture ensures modularity, scalability, and efficient data management.
4. Setup Instructions
Prerequisites:
Node.js: v14 or later
MongoDB: Installed locally or set up using a cloud provider like MongoDB Atlas
npm: Package manager for installing dependencies
Installation:
Clone the repository:
https://github.com/stinastanley/stina.git
Navigate to the project directory:
cd shopEZ
Install dependencies for the backend and frontend:
Backend:
cd server
npm install
Frontend:
cd client
npm install
Run the servers:
Backend:
node index.js
Frontend:
npm start
5. Folder Structure
Client:
src/components: Contains reusable components like Navbar, ProductCard, CartItem, etc.
src/pages: Holds page components such as Home, Cart, Checkout, and AdminPanel.
src/services: Manages API interactions for fetching and posting data.
src/redux: Implements state management for cart items, user authentication, and order status.
Server:
routes: Defines all RESTful API routes for users, products, and orders.
controllers: Contains the logic for handling API requests and responses.
models: Defines database schemas for Users, Products, and Orders.
middleware: Handles authentication (JWT) and error management.
7. API Documentation
Endpoints:
GET /products
Fetches the list of all products.
Parameters: Optional category and price filters.
Response:
json
[
{
"id": "123",
"name": "Gold Bracelet",
"price": 50,
"category": "Accessories"
}
]
POST /orders
Places a new order.
Parameters: User ID, product details, and quantity.
Response:
json
{
"message": "Order placed successfully",
"orderId": "456"
}
8. Authentication
JWT-based Authentication:
Login: Issues a JWT token upon successful authentication.
Token Validation: Protects private routes like /orders and /admin.
Logout: Invalidates the token on the client side.
9. User Interface
Screens:
Home: Displays trending products and categories.
Product Details: Shows detailed information about a selected item.
Cart: Summarizes selected products and their quantities.
Admin Dashboard: Offers order status updates and analytics for sellers.
10. Testing
Unit Testing: Conducted using Jest for components and backend logic.
API Testing: Performed using Postman to validate endpoints.