BCA Final Year Project
BCA Final Year Project
BCA Final Year Project
SYSTEM
“Spares Mart”
Submitted in partial fulfilment of the Requirement for the Degree of
MR.AKARSH YADAV
Buddha Degree College,Gida,Gorakhpur
MR.AKARSH YADAV
Buddha Degree College,Gida,Gorakhpur
Date:..................... Date:.........
Date:............
ABSTRACT
The feasibility study explores the technical, market, financial, and regulatory aspects,
assessing the practicality and potential success of such an endeavor. The study aims to
determine if this innovativesolution is not only feasible but also a valuable resource,
streamlining the process of acquiring crucial vehicle parts.
An ecommerce website for two and four wheeler spare parts is a platform that allows
customers to purchase spare parts for their vehicles online. These websites offer a
wide range of spare parts for two and four wheelers, including body parts, engine and
electrical components, brake and clutch parts, carburetors, bore piston kits, and more.
They offer genuine bike spare parts at low prices for various brands like Bajaj,
Hero Honda, Suzuki, TVS, Yamaha, Mahindra, Royal Enfield, Kawasaki, and KTM
Customers can browse through the website by selecting the spares based on their bike
model or by category .
ACKNOWLEDGEMENT
We are pleased to present “Spares Mart” project and take this opportunity to express our
profound gratitude to all those people who helped us in completion of this project.
A work is never a work of individual. I owe a sense of gratitude to the intelligence and
cooperation of those people who have been so easy to let me understand what I needed from
time to time for completion of this project.
First of all, I would like to express my gratitude towards Principal Dr. Dilip Patil Sir for
providing me a golden opportunity to do this wonderful project on "Spare’s Mart" which also
help me in doing a lot of research and I came to know about so many things and Thanks to Co-
Ordinator Dr. Yogeshwari Patil Ma'am for your support and service during my academic
year.
I would like to special thanks to Guide name Ma'am, Asst. Professor for informational
support. For being available whatever help will need till the end of the project.
DECLARATION
The project is done in partial fulfillment of the requirements for the award of degree of
BACHELOR OF SCIENCE (INFORMATION TECHNOLOGY) to
be submitted as final semester project as part of our curriculum
Sr No Topics Page No
CLASS DIAGRAM 24
1
ACTIVITY DIAGRAM 25
2
3 USECASE DIAGRAM 27
4 SEQUENCE DIAGRAM
28
5 COMPONENT DIAGRAM 29
DEPLOYMENT DIAGRAM 29
6
Chapter 1:
INTRODUCTION
1
1. INDRODUCTION:
Welcome to our online store for all your vehicle needs! Whether you're a motorcycle
enthusiast or a car owner, our website is your one-stop shop for spare parts and accessories.
We offer a wide rang
e of items like engine parts, brakes, lights, and much more to keep your ride running
smoothly.
But that's not all! We're here to provide a complete solution for your vehicle. In addition to
spare parts, we also offer access to skilled mechanics who can help with installations,
repairs, and maintenance. Our website is easy to use, open 24/7, and delivers quality parts
right to your doorstep. Happy shopping anddriving!
1.1 BACKGROUND:
Our Two Wheeler and Four Wheeler Spare Parts E-Commerce Website was born out of a
passion for automobiles and a commitment to simplifying the process of obtaining high-
quality spare parts and accessories. Founded by a group of automotive enthusiasts and
entrepreneurs, the website started as a small endeavor to address the challenges faced by
vehicle owners in finding reliable spare parts for theirtwo-wheelers and four-wheelers.
The founders realized that traditional methods of sourcing spare parts could be cumbersome,
time- consuming, and sometimes expensive. The idea of creating a one-stop online
destination for all things automotive quickly gained momentum.
1.2 OBJECTIVE :
The objective of this project is to create a user-friendly online platform offering a wide range
of quality spare parts for two-wheelers and four-wheelers. The primary goals include
ensuring convenience, qualityassurance, a comprehensive product catalog, access to skilled
mechanics, competitive pricing, excellent customer support, timely and secure delivery,
mobile accessibility, and continuous improvement throughuser feedback. Ultimately, the
project aims to simplify vehicle maintenance and enhance the overall experience of vehicle
ownership for customers.
2
1.3 PURPOSE, SCOPE & APPLICABILITY
1.3.1 Purpose:
A two and four-wheeler spare parts website's main goal is to make it super easy for people
to buy parts for their vehicles online. It should offer lots of different parts for different types
of vehicles and make sure these parts are good quality. Plus, it should have fair prices, be
easy to use, and provide helpful customer support. The website should also make sure
people can find the parts they need quickly and get them delivered fast. They should be
friendly and helpful when you have questions.
And if you need help using or installing the parts, the website can provide useful
information. Finally, they can encourage customers to share their thoughts on the parts they
bought and try to be eco-friendly, like by offering recycling options.
1.3.2 Scope:
1. Product Range: Decide what types of vehicle parts the website will sell, like brakes,
filters, oraccessories.
2. Target Audience: Identify the main customers, such as individual vehicle owners,
mechanics, orbusinesses.
3. Product Sourcing: Figure out where the website will get its parts, whether it's from
suppliers, manufacturers, or both.
4. Price Range: Set prices for products and decide if the website will focus on budget-
friendly or high- quality parts.
5. Additional Services: Consider offering services like provide mechanics installation or
maintenance.
6. Payment and Shipping Options: Determine how customers can pay and how products
will be delivered.
1.3.3 Applicability:
1. For Shopping Online: The website is for buying vehicle parts on the internet.
2. Repair People Too: It's handy for mechanics who fix vehicles.
3. Shops Can Buy: Stores that sell parts can get their stock from here.
4. Use Any Device: You can visit it on your computer, phone, or tablet.
3
Chapter 2:
SYSTEM ANALYSIS
4
2.1 Problem Definition:
A two and four-wheeler spare parts e-commerce website faces key challenges,
including inventory management to prevent stockouts, checkout processes, transparent
shipping, customer support, and cybersecurity measures to safeguard customer data.
1. Inventory Management and Stockouts: The e-commerce website struggles
with efficient inventory management, resulting in frequent stockouts and delayed
fulfillment, leading to dissatisfied customers and lost sales.
2. Product Data Accuracy: Inaccurate or incomplete product data, such as incorrect
specifications or missing compatibility information, hinders customers' ability to make
informed purchasing decisions,resulting in high return rates and customer complaints.
3. Complex Vehicle Compatibility: The website faces challenges in providing an
easy and accurate way for customers to identify spare parts compatible with their
specific vehicle make, model, and year, causing frustration and confusion.Sed sales, and
a stronger online presence.
Refers to the practicality or possibility of carrying out a specific task, project, or idea
successfully. Whenevaluating the feasibility of something, you assess whether it can be
achieved within the available resources, including time, money, technology, and
personnel. Feasibility studies are commonly conductedin business and project planning
to determine whether an initiative is worth pursuing. They typically consider factors
such as financial viability, technical capabilities, legal and regulatory compliance, and
market demand to determine whether a project or idea is feasible and can lead to
successful outcomes.
Feasibility assessments help decision-makers make informed choices about whether to
proceed with aparticular endeavor.
i. Economic Feasibility
ii. Technical Feasibility
iii. Behavioral Feasibility
• Economic Feasibility:
Economic feasibility is one of the aspects of project feasibility that specifically focuses
on the financialaspects of a project. It involves evaluating whether a project is
financially viable and whether the potential benefits outweigh the costs. Here's a
simplified explanation.This is about figuring out if yourproject makes financial sense.
Can you afford to start and run it, and will it ultimately bring in more money or other
benefits than it costs to create and maintain?
5
• Technical Feasibility:
Technical feasibilityassesses whether your project can be accomplished from a
technical perspective. Itfocuses on the availability of the necessary technology,
skills, and resources to complete the project successfully. Here's a simplified
explanation.This means checking if you have the right tools, skills, andresources
to actually do your project. Can you build it with what you have, or do you need
something else?
• Behavioral Feasibility
Behavioral feasibilityexamines whether a project is acceptable and practical to the
people who will use itor be affected by it. It assesses the human and social aspects
of a project. Here's a simplified explanation.This is about whether people will like
and be able to use your project. Will it work well withhow people do things, and
will they want to use it?
Since the Administrator and citizens are the main target group of our system, we
will only concern aboutsome important function for the admin and the user.
Admin:
• The Admin is the one who manipulates and maintains the system . He can
enter into the system byentering login name and password.
• Admin is the one who is responsible update the information of the crime report
.
User:
6
• After Successfully login into the system ,the user moves to either complaints or for
visiting the links ofpdf
• In Complaint user has many options such as Mobile , Vechicle ,Person and Other Crime
complaints etc.
• After filing the complaint users get complaint id which is use for the checking status of
the complaint.
• And at the end he has option of feedback.
• And At the end he has to logout
• DATABASE - MYSQL
• PLATFORM - PHP
• USER INTERFACE DESIGN - HTML ,CSS, JAVASCRIPT
JS,REACT JS
• WEB BROWSER-GOOGLE CHROME,MICROSOFT EDGE
• SOFTWARE-VISUAL CODE
• RAM - 8 GB
• HARD DRIVE - 1 TB
• SSD-500GB
7
2.7 JUSTIFICATION OF SELECTION OF TECNOLOGY
• Tools:
The tools that we are using for this software are as follows.
8
• Html
• CSS
9
Java Script
JavaScript
JavaScript is a versatile, high-level programming language commonly used
for web development. It allows for dynamic and interactive content on
websites, enabling user interactions, form validation, and more. JavaScript
runs in web browsers and can be utilized on the server-side as well, making it
a fundamental tool in modern web development.
• MYSQL
• PHP
10
• SQL
11
2.8 PLANNING AND SCHEDULING
Project Planning and Scheduling’, though separate, are two sides of the same
coin in project management. Fundamentally, ‘Project planning’ is all about
choosing and designing effective policies and methodologies to attain project
objectives. While ‘Project scheduling’ is a procedure of assigning tasks to get
them completed by allocating appropriate resources within an estimated
budget and timeframe.
Project Planning
• Define Objectives: Clearly state the project's goals and what we aim to
achieve with project
• Scope and Requirements: Document the project's scope, including all the
features and functions project should have, based on our requirement
specification.
• Budget and Resources: Determine the budget required for the project and
allocate resources like hardware, software, and personnel accordingly.
Project Scheduling
Project scheduling is a detailed plan that breaks down the project into smaller
tasks, assigning time frames to each, to ensure the timely completion of
project, here’s a simplified view of how project scheduling might look:
12
❖ Task Identification: Break down the entire project into smaller tasks.
For instance:
> Risk Management: Address potential risks that could impact the
schedule and develop strategies to mitigate them
13
Gantt Chart:-
14
2.9 WORK BREAKDOWN STRUCTURE
15
2.10 CONCEPTUAL MODEL:
b. To have all the book at one place of reader .so he easily look and rent it
in limit time and many more feature.
c. To overwhelming from messy books in library and library polices
2. Design:- Software designers to come out with the best architecture for the
software. Hence, with the requirements defined in multiple designs for the
product architecture are present in the Design Document Specification
(DDS). In the design phase, we will be designing the software by the
different diagrams like Class diagram, ER diagram, Use case diagram,
Event table.
3.Coding and Unit testing:- In the coding phase software design is translated
16
into source code using any suitable programing language. Thus each designed module is
coding the aim of the unit testing phase is to check whether each module is working
properly or not. Requirements are written in the coding language and transformed into
computer programs which are called
4.Integration and System Testing:- After completing the coding phase, integration
and system testing phase is performed to check the behavior and validity of the
developed product and if there are any error found then the process starts again from the
requirement gathering.
17
Chapter 3:
SYSTEM DESIGN
18
3.1 Modules Division
Home:
Users can visit the website and check the detail of SPARE PARTS &
ACCESSORIES, MECHANICS services.
Mechanics Services:
In this section, The user can get detail from mechanics related to vehicle and
also get mechanics allocatedfor repairing,fixing the spare parts.
About Us:
Users can see the details of the website administrator.
Contact Us:
Users can see the contact detail and contact with the website administrator
like(Number,Email). Registration: In this section, user can register for website
.(After the Register ,user will get email andsms verification along with
payments link for online payments and user can download a fees
receipt(Invoice).)
B. User (Register/Login)Module.
Login User:
User can view details about their Product dispatcher status ,product price,
product add cart option ,Subscription(optional).
Mechanics Module.
User Profiles:
Allow mechanics to create and manage their profiles, including adding a profile
picture, a short bio, andtheir areas of expertise.
19
Query Handling:
In this section, Mechanics can be able to view and respond to incoming service
requests. Admin orSystem will implement a notification system to alert
mechanics about new queries.
Admin Module.
Admin: In this section, admin can update his/her profile, Change password, and logout.
Dashboard:
In this section, admin can briefly view total User, total Product, total registration,total
newregistration user, Total login, total product sell, total stock, status stock, total payments.
Mechanics:
In this section, admin can manage the mechanics availability, payments, subscriptions.
Pages:
In this section, admin can manage about us and contact us pages.
Registration:
In this section, admin can view new, accepted, rejected registration and also give a remark.
And sending a verification email and sms.
Report:
In this section, admin can view the sales details and check registration details in a particular
period.
Invoice:
In this section, admin can view and manage the invoice.
Search Registration:
In this section, admin can search registration details with the help of his/her registration
number.
20
3.2 DATA DICTIONARY :
A database schema is a blueprint of relational database. It include the physical
schema, which is hardware of the database, in the logical schema which is
design of the data and tables inthe database .The logical schema is what -
programmers, database administrator and users work width.
1. Admin Database:
2. User & Customer Registration Database
3. Mechanics Database
4. Spare Parts or Stock database
5. Payment Database
6. Order Database
1. Admin Database:
FEILD DATATYPE LENGTH KEY
A_Id Varchar 20 Primary Key
A_Password Varchar 20 Primary Key
3. Mechanics Database:
FEILD DATATYPE LENGTH KEY
M_Id Varchar 20 Primary Key
M Name Varchar 20 Not Null
M_Contact Varchar 12 Not Null
M Location Varchar 80 Primary Key
21
M_Fees Varchar 20 Not Null
M Review Varchar 100 Not Null
5. Payment Database:
FEILD DATATYPE LENGTH KEY
Pay_Id Varchar 20 Primary Key
Pay_Amount Varchar 20 Not Null
User_Id Varchar 20 Foreign Key
St_Id Varchar 20 Foreign Key
Order_Id Varchar 20 Foreign Key
Transaction_Id Varchar 25 Not Null
Card Varchar 50 Not Null
6. Order Database:
FEILD DATATYPE LENGTH KEY
Order_Id Varchar 20 Primary Key
User_Id Varchar 20 Foreign Key
St_Id Varchar 20 Foreign Key
Value Varchar 20 Not Null
Quantity Varchar 20 Not Null
Location Varchar 50 Not Null
Invoice no. Varchar 20 Primary Key
22
3.3.E.R Diagrams
23
3.4.Data Flow Diagrams(DFD)
.1T '
manage Mnm
spa'e parts
check stock payment succcsslull
yes or no
New registration User
paymenr
Serachmg
scare
parts
rust m 91 request
---
request
Resport!
check aviabuty payment
request Payment
yes or no •esponse
cancel payment
serachmg
Store new user
go to login r ...
■:*re c n\-.
l .o« me ■/alio& not valid ■•i" BOB
aridcartmuy
verifying detail
Login
New User^.
Authentication
E-ma
password
Rente
D eta. Is
verification .-
Forgot Password
Renter Password
Reset
User Password
24
3.5 UML DIAGRAM
Customer
spare parts
^Customer d
+Name -Part
+Phane no -Name
+Emai D +Descnption
^Customer add +Pnce
Quantity
+Manage I anage
Admin
Admin Id
-Place
Add User
View order data
-Mai* e
Update_item
-f-Edit user
-■Search
+Manage
Mechanic Order
Service Id Manage Order Id
-Name -Order it e
-Phone.no Order_Quantity
Address Payment Tota
Availablity Status
Transaction -User
Net banking details
Upi Id
-E Invoice
25
3.5.2.Activity Diagram:
Invalid
login Verification
home page Va d
available
Mechanics Select products Shock
Parts inquiry & Suggestion
Not avai able
Ac:c: stock
Check mechenics availability
mechemcs info
■. a ::
Payment & billing -><'venfication
Provide mechanic
place ordei
Need N
mechanics
(•)<
26
3.5.3 UseCase Diagram:
Registration
Checking Stocks
Provide Stocks
Choosing suggetion
^provide Admin
provide mechanic info
Choosing allocation
Confirm Payment^^.
benerate E-bill
27
3.5.4Sequence Diagram:
sd SequenceDiagraml J
I Check Authentication
i Register User
j : create User
4 : Confirm Authenticity
B . User Account treater
b : Searching Mechanic
8 Choosing Suggestion
9 Proves ;nin
10 Contact Mechanic
_
11 : Choosing Allocation ;
13 : Allocated 2 contact to Mechanic .
16 Awa«t delivery
17 Complete Delivery
28
3.5.5 Component Diagram
29
Chapter 4:
30
4.1 IMPLEMENTATION
<?php
session_start(); error_reporting(0); include('includes/config. php');
// Code user Registration if(isset($_POST['submit']))
{
$name=$_POST['fullname'];
$email=$_POST['emailid'];
$contactno=$_POST['contactno'];
$password=md5($_POST['password']);
$query=mysqli_query($con,"insert into users(name,email,contactno,password)
values('$name','$email','$contactno','$password')");
if($query)
{
$email=$_POST['email'];
$password=md5($_POST['password']);
$query=mysqli_query($con,"SELECT * FROM users WHERE email='$email' and
31
password-$password'");
$num=mys qli_fetch_array($ query); if($num>0)
{
$extra="my-cart.php";
$_SESSION['login']=$_POST['email'];
$_SESSION['id']=$num['id'];
$_SESSION['username']=$num['name'];
$uip=$_SERVER['REMOTE_ADDR'];
$status=1;
$log=mysqli_query($con,"insert into userlog(userEmail,userip,status)
values('M.$_SESSION['login'].M','$uip','$status')M);
$host=$_SERVER['HTTP_HOST'];
$uri=rtrim(dirname($_SERVER[THP_SELF']),'AY);
header("location:http://$host$uri/$extra");
exit();
}
else
{
$extra="login.php";
$email=$_POST['email'];
$uip=$_SERVER['REMOTE_ADDR'];
$status=0;
$log=mysqli_query($con,"insert into userlog(userEmail,userip,status)
values('$email','$uip','$status')");
$host = $_SERVER['HTTP_HOST'];
$uri = rtrim(dirname($_SERVER['PHP_SELF']),'/\\'); header("location:http://$host$uri/$extra");
$_SESSION['errmsg']="Invalid email id or Password"; exit();
}
}
?>
<!DOCTYPE html>
32
<html lang="en">
<head>
<!-- Meta -->
<meta charset="utf-8">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-
scalable=no">
<meta name="description" content=" ">
<meta name="author" content="">
<meta name="keywords" content="MediaCenter, Template, eCommerce">
<meta name="robots" content="all">
<title>Shopping Portal | Signi-in | Signup</title>
<!-- Bootstrap Core CSS -->
<link rel="stylesheet" href="assets/css/bootstrap.min.css">
<!-- Customizable CSS -->
<link rel="stylesheet" href="assets/css/main.css">
<link rel="stylesheet" href="assets/css/green.css">
<link rel="stylesheet" href="assets/css/owl.carousel.css">
<link rel="stylesheet" href="assets/css/owl.transitions.css">
<!--<link rel="stylesheet" href="assets/css/owl.theme.css">-->
<link href="assets/css/lightbox.css" rel="stylesheet">
<link rel="stylesheet" href="assets/css/animate.min.css">
<link rel="stylesheet" href="assets/css/rateit.css">
<link rel="stylesheet" href="assets/css/bootstrap-select.min.css">
<!-- Demo Purpose Only. Should be removed in production -->
<link rel="stylesheet" href="assets/css/config.css">
<link href="assets/css/green.css" rel="alternate stylesheet" title="Green color">
<link href="assets/css/blue.css" rel="alternate stylesheet" title="Blue color">
<link href="assets/css/red.css" rel="alternate stylesheet" title="Red color">
<link href="assets/css/orange.css" rel="alternate stylesheet" title="Orange color">
<link href="assets/css/dark-green.css" rel="alternate stylesheet" title="Darkgreen
color">
<!-- Demo Purpose Only. Should be removed in production : END -->
<!-- Icons/Glyphs -->
33
<link rel="stylesheet" href="assets/css/font-awesome.min.css">
<!-- Fonts -->
<link href-http://fonts.googleapis.com/css?family=Roboto:300,400,500,700'
rel='stylesheet' type='text/css'>
<!-- Favicon -->
<link rel="shortcut icon" href="assets/images/favicon.ico">
<script type="text/javascript"> function valid(){
if(document.register.password.value!= document.register.confirmpassword.value)
{
</script>
<script>
function userAvailability() {
$("#loaderIcon").show();
jQuery.ajax({
url: "check_availability.php", data:'email='+$("#email").val(), type: "POST", success:
function(data) {
$("#user-availability-status1").html(data);
$("#loaderIcon").hide();
},
error:function (){}
});
}
</script>
</head>
<body class="cnt-home">
34
<!-- HEADER -->
<header dass="header-style-1">
<!-- TOP MENU -->
<?php indude('indudes/top-header.php');?>
<!-- TOP MENU : END -->
<? php include('indudes/main-header. php');?>
<!--NAVBAR -->
<? php indude('indudes/menu-bar. php');?>
<!-- NAVBAR : END -->
</header>
<!-- HEADER : END -->
<div dass="breadcrumb">
<div class="container">
<div class="breadcrumb-inner">
<ul class="list-inline list-unstyled">
<li><a href="home.html">Home</a></li>
<li class='active'>Authentication</li>
</ul>
</div><!-- /.breadcrumb-inner -->
</div><!-- /.container -->
</div><!-- /.breadcrumb -->
<div class="body-content outer-top-bd">
<div class="container">
<div class="sign-in-page inner-bottom-sm">
<div class="row">
<!-- Sign-in -->
<div class="col-md-6 col-sm-6 sign-in">
<h4 class="">sign in</h4>
<p class="">Hello, Welcome to your account.</p>
<form class-'register-form outer-top-xs" method="post">
<span style="color:red;" >
<?php
echo htmlentities($_SESSION['errmsg']);
?>
35
<?php
echo htmlentities($_SESSION['errmsg']="");
?>
</span>
<div class=Mform-groupM>
<label class="info-title" for="exampleInputEmail1">Email Address
<span>*</span></label>
<input type="email" name="email" class-'form-control unicase-form-control text-
input" id="exampleInputEmail1" >
</div>
<div class-" form-group">
<label class="info-title" for="exampleInputPassword1">Password
<span>*</span></label>
<input type="password" name="password" class-'form-control unicase-form-control
text-input" id="exampleInputPassword1" >
</div>
<div class="radio outer-xs">
<a href="forgot-password.php" class="forgot-password pull-right">Forgot your
Password?</a>
</div>
<button type="submit" class="btn-upper btn btn-primary checkout-page-button"
name="login">Login</button>
</form>
</div>
<!-- Sign-in -->
<!-- create a new account -->
<div class="col-md-6 col-sm-6 create-new-account">
<h4 class="checkout-subtitle">create a new account</h4>
<p class="text title-tag-line">Create your own Shopping account.</p>
<form class="register-form outer-top-xs" role="form" method="post" name="register"
onSubmit="return valid();">
<div class="form-group">
<label class="info-title" for="fullname">Full Name <span>*</span></label>
<input type="text" class="form-control unicase-form-control text-input"
36
id="fullname" name="fullname" required="required">
</div>
<div class="form-group">
<label class="info-title" for="exampleInputEmail2">Email Address
<span>*</span></label>
<input type="email" class="form-control unicase-form-control text-input" id="email"
onBlur="userAvailability()" name="emailid" required >
<span id="user-availability-status1" style="font-size:12px;"></span>
</div>
<div class="form-group">
<label class="info-title" for="contactno">Contact No. <span>*</span></label>
<input type="text" class="form-control unicase-form-control text-input"
id="contactno" name="contactno" maxlength="10" required >
</div>
<div class="form-group">
<label class="info-title" for="password">Password. <span>*</span></label>
<input type="password" class="form-control unicase-form-control text-input"
id="password" name="password" required >
</div>
<div class="form-group">
<label class="info-title" for="confirmpassword">Confirm Password.
<span>*</span></label>
<input type="password" class="form-control unicase-form-control text-input"
id="confirmpassword" name="confirmpassword" required >
</div>
<button type="submit" name="submit" class="btn-upper btn btn-primary checkout-
page-button" id="submit">Sign Up</button>
</form>
<span class="checkout-subtitle outer-top-xs">Sign Up Today And You'll Be Able To
: </span>
<div class="checkbox">
<label class="checkbox">
Speed your way through the checkout.
</label>
37
<label dass="checkbox">
Track your orders easily.
</label>
<label class="checkbox">
Keep a record of all your purchases.
</label>
</div>
</div>
<!-- create a new account --> </div><! -- /.row -->
</div>
<? php include('indudes/brands -slider. php'); ? >
</div>
</div>
<? php include('includes/footer. php'); ? >
<script src=" assets/j s/j query-1.11.1. min.js"></script>
<script src="assets/js/bootstrap.min.js"></script>
<script src="assets/js/bootstrap-hover-dropdown.min.js"></script>
<script src=" assets/j s/ owl.carousel.min.js"></script>
<script src="assets/js/echo.min.js"></script>
<script src=" assets/j s/j query. easing-1.3.min.j s"></script>
<script src="assets/js/bootstrap-slider.min.js"></script>
<script src=" assets/j s/j query. rateit. min.js" ></script>
<script type="text/j avascript" src=" assets/j s/lightbox.min.j
s"></script> <script src="assets/js/bootstrap-select.min.js"></script>
<s cript src=" assets/j s/ wow.min.j s"></ script>
<script src="assets/js/scripts.js"></script>
<!-- For demo purposes - can be removed on production -->
<script src="switchstylesheet/switchstylesheet.js"></script>
<script>
$(document). ready(function() {
$(".changecolor").switchstylesheet( { seperator:"color"} ); $C.show-
theme-options').dick(function(){ $(this).parent0.toggleClass('open');
return false;
38
});
});
</script>
<!-- For demo purposes - can be removed on production : End --
>
</body>
</html>
Mechanics’ Registration
Code:
signup.php:
<?php
if(isset($_POST['email']) && isset($_POST['address']) &&
isset($_POST['number']) && isset($_POST['uname']) &&
isset($_POST['pass'])){ include "../db_conn.php"
$email = $_POST['email'];
$address = $_POST['address'];
$number = $_POST['number'];
$uname = $_POST['uname'];
$pass = $_POST['pass'];
39
header("Location: ../index. php?error=$em&$data"); exit;
}else if(empty($number)){
$em = "number is required"; header("Location:
../index.php?error=$em&$data"); exit;
}
else if(empty($uname)){
$em = "User name is required"; header("Location:
../index.php?error=$em&$data"); exit;
}
else if(empty($pass)){
$em = "Password is required"; header("Location:
../index.php?error=$em&$data"); exit;
}else {
// hashing the password
$pass = password_hash($pass, PASSWORD_DEFAULT);
if (isset($_FILES['pp']['name']) AND !empty($_FILES['pp']['name'])) {
$img_name = $_FILES['pp']['name'];
$tmp_name = $_FILES['pp']['tmp_name'];
$error = $_FILES['pp'] ['error']; if($error === 0) {
$img_ex = pathinfo($img_name, PATHINFO_EXTENSION);
$img_ex_to_lc = strtolower($img_ex);
$allowed_exs = array('jpg', 'jpeg', 'png'); if(in_array($img_ex_to_lc,
$allowed_exs)) {
$new_img_name = uniqid($uname, true).'.'.$img_ex_to_lc;
$img_upload_path = '../upload/'.$new_img_name;
move_uploaded_file($tmp_name, $img_upload_path);
// Insert into Database
$sql = "INSERT INTO users_machanics(email,address,number, password,
pp)
username,
40
VALUES(?,?,?,?,?,?)";
$stmt = $conn->prepare($sql);
$stmt->execute([$email,$address,$number, $uname, $pass, $new_img_name]);
header("Location: ../index.php?success=Your account has been created
successfully"); exit;
}else {
$em = "You can't upload files of this type"; header("Location: .. /index. php?
error=$em&$data"); exit;
}
}else {
$em = "unknown error occurred!"; header("Location:
../index.php?error=$em&$data"); exit; }
}else {
$sql = "INSERT INTO users_machanics(email,address,number, username, password)
VALUES(?,?,?,?,?)";
$stmt = $conn->prepare($sql);
$stmt->execute([$email,$address,$number, $uname, $pass]);
41
login.php:
<?php
session_start();
if(isset($_POST['uname']) && isset($_POST['pass'])){ include
"../db_conn.php";
$uname = $_POST['uname'];
$pass = $_POST['pass'];
$data = "uname=".$uname; if(empty($uname)) {
$em = "User name is required"; header("Location: ../login.
php?error=$em&$data"); exit;
}else if(empty($pass)){
$em = "Password is required"; header("Location: ../login.
php?error=$em&$data"); exit;
}else {
$sql = "SELECT * FROM users_machanics WHERE username = ?"; $stmt =
$conn->prepare($sql);
$stmt->execute([$uname]); if($stmt->rowCount() == 1){
$user = $stmt->fetch();
$username = $user['username'];
$password = $user['password'];
$email = $user['email'];
$id = $user['id'];
$pp = $user['pp']; if($username === $uname){ if(password_verify($pass,
$password)) {
$_SESSION['id'] = $id;
$_SESSION['uname'] = $uname;
$_SESSION['pp'] = $pp; header("Location: ../home.php");
42
exit;
}else {
$em = "Incorect User name or password"; header("Location:
../login.php?error=$em&$data"); exit; }
}else {
$em = "Incorect User name or password"; header("Location:
../login.php?error=$em&$data"); exit;
}
}else {
$em = "Incorect User name or password"; header("Location:
../login.php?error=$em&$data"); exit;
}
}
}else {
header("Location: ../login.php?error=error"); exit;
}
Admin:
<?php
session_start(); error_reporting(0); include("include/config. php");
if(isset($_POST['submit']))
{
$username=$_POST['username'];
$password=md5($_POST['password']);
$ret=mysqli_query($con,"SELECT * FROM admin WHERE username='$username'
and password='$password'");
$num=mysqli_fetch_array($ret);
if($num>0)
43
{
$extra="change-password.php";//
$_SESSION['alogin']=$_POST['usemame'];
$_SESSION['id']=$num['id'];
$host=$_SERVER['HTTP_HOST'];
$uri=rtrim(dimame($_SERVER['PHP_SELF']),'AY);
header("location:http://$host$uri/$extra");
exit();
}
else
{
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Shopping Portal | Admin login</title>
<link type="text/css" href-'bootstrap/css/bootstrap.min.css" rel="stylesheet">
<link type="text/css" href="bootstrap/css/bootstrap-responsive.min.css" rel="stylesheet"> <link
type="text/css" href="css/theme.css" rel="stylesheet">
<link type="text/css" href="images/icons/css/font-awesome.css" rel="stylesheet">
<link type="text/css"
href-http://fonts.googleapisxom/css?family=Open+Sans:400italic,600italic,400,600'
rel='stylesheet'>
44
</head>
<body>
45
<div dass="controls row-fluid">
<input class="span12" type="text" id="inputEmail" name="username"
placeholder="Username" required>
</div>
</div>
<div class="control-group">
<div class="controls row-fluid">
<input class="span12" type="password" id="inputPassword"
name="password" placeholder-'Password" required>
</div>
</div>
</div>
<div class="module-foot">
<div class="control-group">
<div class="controls clearfix">
<button type="submit" class="btn btn-primary pull-right"
name=" submit">Login</button>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
</div><! --/.wrapper-->
<div class="footer">
<div class="container">
<b class="copyright">© 2017 Shopping Portal </b> All rights reserved.
</div>
</div>
<script src=" scripts/j query-1.9.1. min.js" type="text/j avascript"></script>
<script src="scripts/jquery-ui-1.10.1.custom.min.js" type="text/javascript"></script> <script
src="bootstrap/js/bootstrap.min.js" type="text/javascript"></script>
</body>
46
4.2 TESTING APPROACH
1. Functionality Testing:
- Check if users can register, log in, and log out successfully.
- Test the search function for spare parts and mechanics.
- Verify that product listings, shopping cart, checkout process, and order
management work smoothly.
- Test mechanic booking system for scheduling appointments and service
selection.
- Ensure users can leave reviews and ratings for products and mechanics.
2. Compatibility Testing:
- Test the website on different web browsers (Chrome, Firefox, Safari,
Edge) and devices (desktop, tablet, mobile).
- Ensure the website is responsive and functions well on various screen
sizes and resolutions.
3. Performance Testing:
- Check website load times and server performance under normal and peak
loads.
- Optimize loading times for pages, images, and content to improve user
experience.
4. Security Testing:
- Scan for vulnerabilities such as SQL injection and cross-site scripting.
- Ensure sensitive data is encrypted and stored securely.
- Implement measures to prevent unauthorized access to user accounts and
data.
5. Usability Testing:
- Conduct tests with real users to evaluate ease of use, navigation, and
overall experience.
- Gather feedback on design, layout, and functionality to identify areas for
improvement.
47
There are many approaches to test the software:
Shopping cart testing comes next, focusing on operations such as adding items
to the cart, removing them, and updating the cart contents. This ensures that
the shopping cart functions smoothly and accurately reflects the user's
selections.
48
easily find and interact with mechanics for assistance.
Beta testing for your online spare parts and mechanic website involves
releasing the system to a limited group of external users, typically representing
your target audience, to gather feedback and identify any potential issues
before the full-scale launch. During this phase, the focus is on evaluating the
system's usability, functionality, and overall user experience in a real-world
environment.
You'll invite a select group of beta testers, which may include existing
customers, potential users, or individuals from your target market, to explore
the website and provide feedback on their experiences. Beta testers will
interact with different features of the website, such as browsing products,
adding items to the cart, placing orders, accessing mechanic services, and
providing feedback on their interactions.
The primary goals of beta testing are to uncover any usability issues, bugs, or
glitches that may have been missed during earlier testing phases and to
49
gather insights into how users perceive and interact with the website. Beta
testers are encouraged to report any issues they encounter, such as broken
links, navigation difficulties, payment processing errors, or inconsistencies in
the user interface.
2. Plan and prioritize modifications based on the most critical needs and
potential impact on user experience and business goals.
5. Deploy changes to the live website once they have been thoroughly tested
and verified.
50
4.3 TEST CASE
1 User All field is must to be Please fill out this field. - All Pass
registration filled(.Required) field is must to be filled.
51
Chapter 5:
RESULT & DISCUSSION
52
Forms:
Contact No. *
Forgot your Password?
Password. *
Confirm Password. *
Validations:-
Contact No. *
Forgot your Password?
Password. *
Confirm Password. *
53
In Registration
1) email must be valid:
2) number’s max digits are 10 so user can’t enter more then 10 digits.
In Registration if you will not enter same password then it will show you: -
Password and Confirm Password Field do not match !!:
54
After registration successfully then it will show You are successfully register. &
In Login page:
55
1) email must be valid.
2) In Login Email and password are not match: invalid email id or password.
56
Working:-Homepage : -
This is the Home screen where readers can see available and for reserve them for
himself they can login or register
57
After Login reader come to homepage where they see or can choice the spare parts
accessories
After adding cart into my cart user can see there list of item they want to purchase
58
After chechout, user have options to choice payment methods.
Now here after selecting the payment method ,user can download the invoice bil
59
Mechanics page:
Machanics have requested to fill the all fields and email should be valid :
After filling all the details user will been shows the account successfully massage :
Email Id
Address
Number
8976548765
Profile Picture
I Login
60
In login,machanic need to fill all field && machanic need to enter correct username and
password
After Successful login machanics can edit and can see there profile:
61
Admin:
Admin dashboard where they can manage user, machanics users, Orders
today's Orders
Shipping
Address
# Name Email /Contact no Product QtyAmount Order Date Actio
1 [email protected]/8591700900 1 3499 2024-04-28
Rahul Head Light 19:38:59
or
Ajay Toyota
yadav Innova
Showing 1 to 1 of 1 entries
62
Admin can see user details:
Manage Users
O Order Management v
1 rahul machnics [email protected] 85911498 indra nagar .villa no.12, thane east 400890
Product SI Manage Products
2 sanjay machines [email protected] 8745465773 lokmanya nagar, pada no.4,thane W 400606
63
Category:
Spare's Mart | Admin
Category
O Order Management v
Create
Manage Categories
Showing 1 to 3 of 3 entries
Sub category :
Sub Category
0 Order Management v
SubCategory Name
51 Create Category s Sub Category C Insert Create
Sub Category
s User Login Log Gfr Logout
64
Inserting product:
» Manage users
Show 10 v entries Search:
a Manage machanics
Company Product Creation
# Product Name Category Subcategory Manufacture Name Date Action
Create Category
1 Hero Brake Lever Bikes Brake & Hero Hero 2024-02-19 or©
Clutch 23:35:03
= Sub Category
2 KIT, DISC CLUTCH Bikes Brake & Honda Endurance 2024-02-20 B©
FRICTION Clutch 00:10:35
Insert Product
Showing 1 to 6 of 6 entries
65
Chapter 6:
CONSULTATION AND FUTURE
WORK
66
6.1 Conclusion :-
1. Product Offering: Your website provides a wide range of spare parts for cars and bikes,
catering to the needs of vehicle owners looking for replacement parts. This diverse inventory
ensures that customers can find the parts they need conveniently.
2. Mechanic Services: In addition to selling spare parts, your website also offers mechanic
services. This feature adds value to your platform by providing customers with access to
professional assistance for installation, repairs, and maintenance.
3. User Experience: The user experience on your website is likely designed to be intuitive and
user-friendly. Customers can easily browse through the available products, search for specific
items, and place orders seamlessly. Providing detailed product descriptions and images can
enhance the shopping experience further.
4.Information Accessibility: Customers can access information about mechanics available
through your platform. This includes details such as their qualifications, expertise, availability,
and customer reviews. This transparency helps customers make informed decisions when
choosing a mechanic for their vehicle needs.
5. Customer Support: Your website likely offers customer support channels to assist users with
any inquiries, issues, or concerns they may have. This ensures that customers receive prompt
assistance and fosters trust and satisfaction with your brand.
67
Chapter 7:
REFERENCE
68
We express our sincere gratitude to all those people who helped us in gathering
the information while preparing this project. To prepare this project we required
information regarding how to develop efficient & proper software on Online Book
Rental System.
Reference Website:
1. https://www. google.com
2. https://www.youtube.com
3. https://www.chatgpt.com
4. https: / / www. W3School. com
5. https://www.Stackoverflow.com
I extend heartfelt thanks to my Classmates for their invaluable help in the project
And My Partner, their support and collaboration were instrumental in its success.
Grateful for their dedication and expertise, which greatly enriched the project.
69