Mba Project
Mba Project
A Project Submitted
in Partial Fulfillment of the Requirements
for the Degree of
Radhika Bhutani
(2201000000960)
~1~
UNDERTAKING
2201000000960
~2~
CERTIFICATE BY SUPERVISOR
~3~
Acknowledgement
Radhika Bhutani
(2201000000960)
~4~
TABLES OF CONTENTS
1. Introduction 06
2. Abstract 07
3. Modules 08
4. 4.Scope 11
5. Existing System 13
6. Proposed System 16
7. System Architecture 17
a. Client/Presentation tier
b. Business logic layer
c. Data tier
8. Software Requirement 20
9. Hardware Requirement 21
10. Code used for making application 22
11. Test cases screen 56
a. Front page
b. Suggested Bar
c. Details
12. Conclusion 59
13. Future Scope 62
14. Reference 65
~5~
1.Introduction:
The "Online Shopping Platform" has been developed to address
and overcome the challenges inherent in traditional manual retail
systems. This software is designed to eliminate and, in some
instances, reduce the difficulties faced by the existing retail
systems. The application is tailored to meet the specific needs of
the company, facilitating smooth and efficient operations.
~6~
2.Abstract
The objective of the Online Shopping Platform is to modernize
the current manual retail system through the utilization of
computerized tools and comprehensive software, meeting the
diverse needs of businesses. This facilitates the storage of
valuable data for extended periods, ensuring easy access and
manipulation. The readily available software and hardware
components make the transition seamless and user-friendly.
~7~
3. Modules
1. User Registration and Authentication Module:
- Allows users to create accounts.
- Manages user authentication and login processes.
~8~
7. Order Tracking and History Module:
- Provides users with the ability to track the status of their
orders.
- Maintains order history for users to reference past purchases.
~9~
13. Shipping and Logistics Module:
- Integrates with shipping services to calculate shipping costs.
- Manages order fulfillment and tracking.
~ 10 ~
4. Scope
It seems like you've outlined key objectives for automating
business processes in an Online Shopping Website. To
convert these objectives into features for the website, here's
a breakdown:
4. Information Generation:
Develop analytics tools to generate insights from
user behavior, sales data, and website traffic.
Implement reporting features for informed decision-
making.
~ 11 ~
5. User Satisfaction:
Personalize user accounts with preferences and purchase
history.
Implement a recommendation system based on user
behavior.
6 . User-Friendly Interface:
Design a visually appealing and intuitive interface with
clear navigation.
Ensure compatibility with different devices and screen
sizes.
7 . Ease of Operation:
Provide a simple and straightforward checkout process.
Include tooltips and help sections for users with varying
technical expertise.
9. Expandability:
Design a modular architecture allowing the addition of
new features.
Plan for scalability to accommodate increased website
traffic and data.
~ 12 ~
10. Timely Delivery:
Set milestones and deadlines for development
phases.
Implement project management tools to track
progress and ensure timely delivery.
~ 13 ~
5. Existing System
1. Secure Payment Gateway:
Integrate a secure payment system for online
transactions.
Accept various payment methods, including
credit/debit cards and digital wallets.
4. Customer Support:
Implement a responsive customer support system with
live chat, email, and phone support.
Assist users with inquiries, changes, or issues related
to their orders.
7. Budget Transparency:
Clearly display the total cost of the transport,
including taxes and fees.
Provide users with transparent information about any
additional charges.
~ 15 ~
6. Proposed System
The Proposed system ensures the complete freedom for
users, where user at his own system can logon to this
website and can book his stufs. Our proposed system
allows only registered users to order the products, view
timings and cancel their products.
~ 16 ~
7. System Architectures
To adapt the three-tier architecture for an online shopping
website, we can define the architecture for each tier in the
context of online shopping:
Client/Presentation Tier:
HTML/CSS/JavaScript Frontend
Develop responsive and user-friendly web
pages using HTML, CSS, and JavaScript.
Implement the user interface (UI) components
for browsing products, adding items to the cart,
and managing user accounts.
User Interface (UI):
Design intuitive and visually appealing interfaces
for users.
Include interactive elements for a seamless
shopping experience, such as product sliders,
filters, and dynamic content updates.
Client-Side Logic:
Utilize JavaScript to handle client-side interactions
and validations.
Ensure a smooth and responsive UI with AJAX for
dynamic content loading.
~ 17 ~
2. Business Logic Layer:
Server-Side Scripting:
Use server-side scripting languages such as PHP,
Python, or Node.js to handle business logic.
Implement functions for processing orders,
managing inventory, and handling user
authentication.
Middleware/APIs:
Create middleware or APIs to communicate
between the presentation layer and the data layer.
Handle data validation, authentication, and
authorization in this layer.
3. Data Tier:
~ 18 ~
Define tables and relationships to ensure
efficient data retrieval.
~ 19 ~
8. Software Requirement
The Software Requirement Specification is product at the
culmination of the analysis task. The function and
performance allocated to software as part of software
engineering are refined by establishing a complete
information description, a details function and behavioral,
an indication of performance requirement and design
constraints appropriate validation criteria and other data
pertinent to requirements.
~ 20 ~
9. Hardware Requirement
~ 21 ~
10. Code used for making application
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,
initial-scale=1.0">
<link rel="shortcut icon" href="icons8-a-32.png"
type="image/x-icon">
<!-- cdn link for bootstrap 5 -->
<link
href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/boot
strap.min.css" rel="stylesheet" integrity="sha384-
EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD
65VohhpuuCOmLASjC" crossorigin="anonymous">
<!-- font awesome -->
<link rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-
awesome/6.3.0/css/all.min.css">
<title>Second class BootStrap</title>
</head>
<body>
<div class="container">
<!-- Navigation Bar -->
<nav class="navbar navbar-expand-md navbar-light bg-
info">
<div class="container-fluid">
~ 22 ~
<a href="#" class="navbar-brand"><img src="icons8-
a-32.png" alt=""></a>
<button class="navbar-toggler" data-bs-
toggle="collapse" data-bs-target="#example">
<span class="navbar-toggler-icon"></span>
</button>
</div>
<div class="collapse navbar-collapse" id="example"
style="text-align: right;">
<ul class="navbar-nav">
<li class="nav-item">
<a href="#" class="nav-link active">Home</a>
</li>
<li class="nav-item">
<a href="#" class="nav-link ">Order</a>
</li>
<li class="nav-item">
<a href="#" class="nav-link ">Cart</a>
</li>
<li class="dropdown nav-item">
<a class="nav-link dropdown-toggle" href="#"
data-bs-toggle="dropdown" >Products</a>
<div class="dropdown-menu" >
<a class="dropdown-item"
href="#">Shoes</a>
<a class="dropdown-item" href="#">Shirt/T-Shirts</a>
<hr>
<a class="dropdown-item" href="#">Short</a>
</div>
</li>
~ 23 ~
</ul>
</div>
</nav>
<br>
Context.jsx
import { useState, useEffect, createContext,
useContext } from "react";
importaxios from "axios";
constapi_key =
"2eb41dac1282d63538c8800359dea713";
consturl =
`https://api.themoviedb.org/3/search/movie?api_key=
${api_key}`;
constbase_url =
`https://api.themoviedb.org/3/search/movie`;
const query = "&query=";
const page = "&page=";
constAppContext = createContext();
~ 26 ~
exportconstAppProvide = ({ children }) => {
// STATE VALUES
const [isLoading, setIsLoading] = useState(true);
const [searchTerm, setSearchTerm] = useState("a");
const [totalPages, setTotalPages] = useState(0);
const [pageNo, setPageNo] = useState(1);
const [movies, setMovies] = useState([]);
try {
const response = await axios.get(`${base_url}`, {
params: {
api_key: api_key,
query: searchTerm,
page: pageParameter,
},
});
// console.log(response);
setTotalPages(response.data.total_pages);
setMovies(response.data.results);
setIsLoading(false);
} catch (e) {
console.log(e);
~ 27 ~
}
setIsLoading(false);
};
useEffect(() => {
fetchMovies(pageNo);
}, [searchTerm, pageNo]);
return (
<AppContext.Provider
value={{
movies,
isLoading,
searchTerm,
setSearchTerm,
pageNo,
setPageNo,
totalPages,
}}
>
{children}
</AppContext.Provider>
);
};
~ 28 ~
exportconstuseGlobalContext = () => {
returnuseContext(AppContext);
};
Main.jsx
import React from "react";
importReactDOM from "react-dom/client";
import App from "./App.jsx";
import "./scss/styles.scss";
ReactDOM.createRoot(document.getElementById("r
oot")).render(
<Router>
<AppProvide>
<React.StrictMode>
<App />
</React.StrictMode>
</AppProvide>
</Router>
);
Style.scss
@import "bootstrap/scss/bootstrap";
~ 29 ~
body {
// background-color: #282828;
}
Home.jsx
importMovieList from "../components/MovieList";
importSearchbar from "../components/Searchbar";
SingleSite.jsx
import { useEffect, useState } from "react";
import { useParams } from "react-router-dom";
constSingleSite = () => {
~ 30 ~
const [ShopeDetails, setShopeDetails]=useState({});
const [loading,setLoading]=useState(true);
const [error,SetError]=useState(false);
console.log(movieDetails);
constapi_key =
"8e68e91c465477a7fb8dd5b68fdf19fc";
consturl="https://api.theOnlineShopedb.org/3/movie/
";
const { id } = useParams();
constfetchwebsiteDetails = async()=>{
setLoading(true);
try{
const response = await
fetch(`${url}${id}?api_key=${api_key}`);
const data =await response.json();
setShoppingDetaile(data);
setLoading(false);
}
catch(e){
console.log(e);
setLoading(false);
SetError(true);
}
};
~ 31 ~
useEffect(()=>{
fetchShopeDetails();
},[]);
const {
adult,
backdrop_path,
belongs_to_collection,
budget,
genres,
homepage,
original_language,
original_title,
overview,
popularity,
poster_path,
production_companies,
production_countries,
release_date,
revenue,
runtime,
spoken_language,
status,
tagline,
~ 32 ~
title,
vote_average,
vote_count
}=movieDetails;
return(
<>
<article className=""
style={{backgroundImage:`url(https://image.tmdb.or
g/t/p/w500${backdrop_path})`,
backgroundRepeat:'no-repeat',
backgroundSize:"cover",
backgroundPosition:"center center",
backgroundBlendMode:"overlay"}}>
<main className="row container mx-auto"
style={{color:"#ffffff"}}>
~ 34 ~
style={{color:"#ffffff"}}>{release_date}</span></p
>
<p style={{color:"#01d277",}} className="fs-
3">Rating <br /><span
style={{color:"#ffffff"}}>{vote_average}</span></p
>
<p style={{color:"#01d277",}} className="fs-
3">Runtime <br /><span
style={{color:"#ffffff"}}>{runtime}
min</span></p>
~ 38 ~
<a href="#" class="text-white text-decoration-
none" >The Providers</a>
</p>
<p>
<a href="#" class="text-white text-decoration-
none" >Kids</a>
</p>
<p>
<a href="#" class="text-white text-decoration-
none" >Shoes</a>
</p>
<p>
<a href="#" class="text-white text-decoration-
none" >Cloths</a>
</p>
</div>
<div class="col-md-3 col-lg-2 mx-auto mt-3">
<h5 class="text-uppercase mb-4 font-weight-bold
text-warning">Useful Link</h5>
<p>
<a href="#" class="text-white text-decoration-
none" >Your Account</a>
</p>
<p>
<a href="#" class="text-white text-decoration-
none" >Become a Member</a>
</p>
<p>
<a href="#" class="text-white text-decoration-
none" >Shipping</a>
</p>
~ 39 ~
<p>
<a href="#" class="text-white text-decoration-
none" >Student Discount</a>
</p>
</div>
<div class="col-md-3 col-lg-2 mx-auto mt-3">
<h5 class="text-uppercase mb-4 font-weight-bold
text-warning">Get help</h5>
<p>
<a href="#" class="text-white text-decoration-
none" >Order Status</a>
</p>
<p>
<a href="#" class="text-white text-decoration-
none" >Delivery</a>
</p>
<p>
<a href="#" class="text-white text-decoration-
none" >Returns</a>
</p>
<p>
<a href="#" class="text-white text-decoration-
none" >Payment Option</a>
</p>
</div>
<div class="col-md-4 col-lg-3 col-xl-3 mx-auto mt-
3">
<h5 class="text-uppercase mb-4 font-weight-bold
text-warning">Contact</h5>
<p>
~ 40 ~
<i class="fas fa-home mr-3"></i>New York, NY
2333, US
</p>
<p>
<i class="fas fa-envelope mr-
3"></i>[email protected]
</p>
<p>
<i class="fas fa-phone mr-3"></i>+92 3162859445
</p>
<p>
<i class="fas fa-fax mr-3"></i>+01 335 633 77
</p>
</div>
</div> Home.jsx
importProductList from "../components/ProductList";
importSearchbar from "../components/Searchbar";
constOrderDetails = () => {
constapi_key =
"8e68e91c465477a7fb8dd5b68fdf19fc";
consturl="https://api.themoviedb.org/3/movie/";
const { id } = useParams();
constfetchOrderDetails = async()=>{
setLoading(true);
try{
const response = await
fetch(`${url}${id}?api_key=${api_key}`);
const data =await response.json();
setMovieDetails(data);
setLoading(false);
}
~ 42 ~
catch(e){
console.log(e);
setLoading(false);
SetError(true);
}
};
useEffect(()=>{
fetchMovieDetails();
},[]);
const {
adult,
backdrop_path,
belongs_to_collection,
budget,
genres,
homepage,
original_language,
original_title,
overview,
popularity,
poster_path,
production_companies,
production_countries,
release_date,
~ 43 ~
revenue,
runtime,
spoken_language,
status,
tagline,
title,
vote_average,
vote_count
}=movieDetails;
return(
<>
<article className=""
style={{backgroundImage:`url(https://image.tmdb.or
g/t/p/w500${backdrop_path})`,
backgroundRepeat:'no-repeat',
backgroundSize:"cover",
backgroundPosition:"center center",
backgroundBlendMode:"overlay"}}>
<main className="row container mx-auto"
style={{color:"#ffffff"}}>
~ 44 ~
<div className="col-12 col-md-4" >
<div className="my-4">
<imgclassName="card-img-top rounded-4 shadow p-
1 mb-1 bg-white"
src={`https://image.tmdb.org/t/p/w500${poster_path
}`} alt="" />
~ 45 ~
<p style={{color:"#01d277",}} className="fs-
3">Original Language <br /><span
style={{color:"#ffffff"}}>{original_language}</span
></p>
<p style={{color:"#01d277",}} className="fs-
3">Status <br /><span
style={{color:"#ffffff"}}>{status}</span></p>
<p style={{color:"#01d277",}} className="fs-
3">Release Date <br /><span
style={{color:"#ffffff"}}>{release_date}</span></p
>
<p style={{color:"#01d277",}} className="fs-
3">Rating <br /><span
style={{color:"#ffffff"}}>{vote_average}</span></p
>
<p style={{color:"#01d277",}} className="fs-
3">Runtime <br /><span
style={{color:"#ffffff"}}>{runtime}
min</span></p>
<p style={{color:"#01d277",}} className="fs-
3">Budget <br /><span
style={{color:"#ffffff"}}>${budget}</span></p>
<p style={{color:"#01d277",}} className="fs-
3">Revenue <br /><span
style={{color:"#ffffff"}}>${revenue}</span></p>
~ 46 ~
</div>
</main>
</article>
</>
)
};
Error.jsx
const Error = () => {
return<div>Error</div>;
};
Contact.jsx
return (
<>
<div className="container">
<h2>Contact Us</h2>
~ 47 ~
<form>
<div className="form-group">
<label htmlFor="nameInput">Name</label>
<input type="text" className="form-control"
id="nameInput" placeholder="Enter your name" />
</div>
<div className="form-group mt-2">
<label htmlFor="emailInput">Email address</label>
<input type="email" className="form-control"
id="emailInput" placeholder="Enter your email" />
</div>
<div className="form-group mt-2">
<label htmlFor="messageInput">Message</label>
<textareaclassName="form-control"
id="messageInput" rows="5" placeholder="Enter
your message"></textarea>
</div>
<button type="submit" className="btnbtn-primary
mt-2">Submit</button>
</form>
</div>
</>
);
};
~ 48 ~
export default Contact;
About.jsx
importmyImg from "../../images/tmdb.svg";
const About = () => {
return (
<>
<main>
<article className="container">
<div>
<imgsrc={myImg} alt="image contain" />
</div>
<div className="p-3 bg-info bg-opacity-10 border
border-info border-start-0 rounded-end mt-3 fw-
semiboldlh-base" style={{fontFamily: "sans-
serif"}}>
~ 49 ~
<p>These databases serve as valuable resources for
clothes lovers, allowing them to explore and
discover information about their favorite products ,
SkinCare. They also aid in research, analysis, and
decision-making for Shopes, producers, and
professionals Branded stuffes.</p>
</div>
</article>
</main>
</>);
};
Component
Navbar.jsx
import { NavLink } from "react-router-dom";
import { Collapse, Offcanvas } from "bootstrap";
import { BsFillSunFill, BsMoonFill } from "react-
icons/bs";
<div className="offcanvas-body">
<ulclassName="navbar-nav justify-content-end flex-
grow-1 pe-3">
<li className="nav-item">
<button className="btnbtn-toggle"
onClick={themeToggle}>
{theme == "light" ? <BsMoonFill /> :
<BsFillSunFill />}
</button>
</li>
<li className="nav-item">
<NavLinkclassName="nav-link" to={"/about"}>
about
</NavLink>
</li>
<li className="nav-item">
<NavLinkclassName="nav-link" to={"/contact"}>
~ 51 ~
contact
</NavLink>
</li>
</ul>
</div>
</div>
</div>
</nav>
</header>
);
};
Pagination.jsx
importReactPaginate from "react-paginate";
import { useGlobalContext } from "../context";
constnextPage = () => {
if (pageNo<totalPages) {
setPageNo(pageNo + 1);
}
};
constprevPage = () => {
~ 52 ~
if (pageNo> 1) {
setPageNo(pageNo - 1);
}
};
<hr class="mb-4">
<div class="row align-items-center">
<div class="col-md-7 col-lg-8">
<p>Copyright <span>©</span>2023 All
rights reserved by:
<a href="#" class="text-decoration-none text-
warning">
<Strong>XYZV </Strong>
</a>
</p>
</div>
<div class="col-md-5 col-lg-4 ">
<div class="text-center text-md-end">
<ul class="list-unstyled list-inline">
<li class="list-inline-item">
<a href="#" class="btn-floating btn-sm text-
white" style="font-size: 23px;"><i class="fab fa-
facebook"></i></a>
</li>
<li class="list-inline-item">
<a href="#" class="btn-floating btn-sm text-
white" style="font-size: 23px;"><i class="fab fa-
twitter"></i></a>
</li>
~ 53 ~
<li class="list-inline-item">
<a href="#" class="btn-floating btn-sm text-
white" style="font-size: 23px;"><i class="fab fa-
instagram"></i></a>
</li>
<li class="list-inline-item">
<a href="#" class="btn-floating btn-sm text-
white" style="font-size: 23px;"><i class="fab fa-
youtube"></i></a>
</li>
<li class="list-inline-item">
<a href="#" class="btn-floating btn-sm text-
white" style="font-size: 23px;">
</div>
<!-- cdn link for javascript -->
<script
src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstr
ap.bundle.min.js" integrity="sha384-
~ 54 ~
MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEu
NSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous">
</script>
</body>
</html>
~ 55 ~
12. TEST CASES SCREEN
~ 56 ~
11.2 Suggested bar
~ 57 ~
11.3 DETAILS
~ 58 ~
12. CONCLUSION
1. User-Friendly Interface:
o The design prioritizes a user-friendly interface
to ensure easy navigation, intuitive product
discovery, and a positive overall shopping
experience.
2. Three-Tier Architecture:
o The adoption of a three-tier architecture separates
presentation, business logic, and data layers,
facilitating scalability, maintainability, and efficient
data processing.
~ 59 ~
4. Product Management:
o A comprehensive product management system
is designed, allowing users to explore a diverse
catalog with efficient search and categorization
features.
6. Order Processing:
o The system includes features for order
confirmation, order history tracking, and
invoice generation, contributing to a
transparent and reliable shopping experience.
7. Documentation:
o Thorough technical documentation is prepared,
offering insights into system architecture,
modules, and database structures. Additionally,
user documentation guides users on how to
utilize the platform effectively.
~ 61 ~
13.Future Scope
~ 62 ~
market trends, competitor pricing, and
promotional offers, enhancing competitiveness.
4. Personalized Recommendations:
o Utilizing APIs for customer behavior analysis
can result in personalized product
recommendations, improving user engagement
and increasing the likelihood of successful
sales.
~ 64 ~
14. References
www.codingmagazine.in
http://javahasan.blogspot.in
http://mohankathaitnotes.blogspot.in
www.freejavaguide.com
www.tutorialspoint.com
http://best-programming-tricks.blogspot.in
http://stackoverflow.com
www.roseindia.net
http://javanoteshindi.blogspot.in
www.javaprogrammingforums.com
www.wikipedia.org
www.google.com
~ 65 ~