Vicky Project
Vicky Project
A Project Report
Submitted in fulfilment of the
Requirements for the award of the Degree of
BACHELOR OF SCIENCE (INFORMATION TECHNOLOGY)
By
1
2
ABSTRACT
We are developing a project called the Computer Parts Online Website. This platform, built
using Php. aims to simplify the process of buying and selling computer components. It features
a user-friendly web interface for customers and vendors, allowing for secure user registration
and authentication.
Key functionalities include product listings from various sellers, easy order placement by
customers, and tracking of order statuses. The website utilizes SQLite for efficient data
management and offers notifications and analytics on sales performance. This project is
designed to facilitate a seamless and transparent shopping experience for users.
By centralizing product listings, orders, and order tracking, the platform streamlines the entire
purchasing process. It reduces manual paperwork and administrative tasks, saving time for both
customers and vendors. Additionally, it provides an intuitive interface that is easy to navigate
while ensuring that only authorized users can access sensitive information and features.
Definition of E-commerce
3
ACKNOWLEDGEMENT
It gives me pleasure to present this report towards the partial completion of my project
I am highly indebted to our I/C Principal Dr. S.B. Karande, Vice Principal Dr. M.D. Auti,
and
B. Sc.IT Co-Ordinator Mrs. Rupal Sheth for giving me this opportunity to accomplish
my project.
I am thankful to my Internal Project Guide Mrs. Vinaya Bagwe for her guidance and constant
supervision as well as providing necessary information regarding the project also for her
support in completing the project.
I want to extend my Thanks to my lab assistance, Mr. Prasad Jadhav, for his invaluable
assistance to my project Executions.
My thanks and appreciation go to my friends and parents in developing the project and people
who willingly helped me out with their abilities.
Finally, I would like to thank entire BSc.IT department who directly or indirectly helped me in
completion of project.
4
DECLARATION
I hereby declare that the project entitled “Computer parts’’ shop online website “done at the
Gokhale Education Society Shri Bhausaheb Vartak Art, Commers & Science College
Borivali (W), has not been in any case duplication to submit to any other university for the
award of any degree. To the best of my knowledge other than me, no one has submitted to
any other university.
The project is done in fulfilment of the requirements for the award of degree of BACHELOR
OF SCIENCE (INFORMATION TECHNOLOGY) to be submitted as five semester project
as part of our curriculum.
5
Table of content
CHAPTER 1
INTRODUCTION……………………………………………………………………………….8
1.1 Background.…………………………………………………………………………………..8
1.2 Objective….…………………………………………………………………………………..8
1.3 Purpose, Scope, Advantages….………………………………………………………………8
CHAPTER 2
SYSTEM ANALYSIS…………………………………………………………..........................9
2.1 Existing system……………………………………………………………………………….9
2.2 Proposed system………………………………………………………………………….... .10
2.3 Feasibility...…………………………………………………………………………………..10
2.4 Software Requirements………………………………………………………………………12
CHAPTER 3
REQUIRENMENT & ANALYSIS ……………………………………………………………19
3.1 Problem Definition……………………………..…………………...………………………..19
3.2 Requirements specification.……………………………………………………...……….….19
3.3 System Requirements………………………………………………………………...……....20
3.3 Planning and Scheduling.………………………………………………………………….…22
3.5 Conceptual Models………………………………………………………………………...…28
CHAPTER 4
SYSTEM DESIGN……………………………………………………………..……………….49
4.1 Basic Modules……………………………………………………………………..…………49
4.2. Data Design………………………………………………………………………………….49
4.2.1 Schema Design.…………………………………………………………………….………50
4.2.2 Data integrity and Constraints.………………………………………………….………….50
4.3 User Interface Design.………………………………………………………………………..52
4.3.1 Registration Page…………………………………………………………………………...52
4.3.2 Login Page………………………………………………………………………………….53
4.3.3 Home Page………………………………………………………………………………….54
4.4 Security Issues………………………………………………………………………………...51
4.5 Reference ……………………………………………………………………………………..55
6
CHAPTER 1
INTRODUCTION
Background
Our computer parts online shop aims to provide top-quality components and
accessories for customers. To enhance accessibility and convenience, we’re
transforming our business into a web-based system connected to the internet.
1.2 Objectives:
Purpose:
Provide an online platform for customers to purchase computer hardware, software,
and accessories.
Offer a convenient and hassle-free shopping experience.
Increase sales and revenue through e-commerce.
7
Scope:
1.Product Categories:
Computer systems (laptops, desktops, tablets)
Components (CPUs, GPUs, RAM, storage)
Peripherals (monitors, keyboards, mice)
Software (operating systems, productivity tools)
Accessories (cases, cooling systems, power supplies)
2. Target Audience:
Individuals (gamers, professionals, home users)
Businesses (small, medium, large enterprises)
Educational institutions
3. Geographic Reach:
Local
National
International
Advantages:
For Customers:
For Business:
9
4. Enhanced brand visibility: Establish online presence.
By opting an online bookstore website, you can save your time as well. You don’t
have to be present around all the time. You can run your business from your home,
your full-time job or even from a vacation resort. Great, isn’t it?
Easy to Operate
With the increase in tech and digital things around, everything has become a piece of
cake. You can handle the website even if you don’t know a thing about them. There
are different plugins available and intuitive interfaces that make everything easy to
operate.
CHAPTER 2
10
SURVEY OF TECHNOLOGY
The E-Commerce WEBSITE has opened the doors for seamless access to consumer
goods.
The e-commerce website has eventually created opportunities for seller of all scale
living in any part of the world can now bring their products in front of the world as a
whole through online platforms.
Unlike physical store that limits a business to its geographical area, an e-commerce
website allows you to reach customers anywhere.
Once customers can place orders online and you can ship a product to their location or
provide a service, there’s no limit to your reach.
It will provide an option to a customer for a comparison of products with another
product while a shop is available at day time only the website is available 24 hours of a
day and seven days of the week.
This system will provide the detailed description of the products to customer so that
they can compare to the different products and will buy one which is more suitable to
them.
11
2.3 Feasibility study
Project Description
Provide an overview of your project, explaining that it's an e-commerce website for the
clothes.
Define the purpose and objectives of the website.
Market Analysis
Identify your target audience. Are you primarily nearby residents, or is it a broader customer?
Or world-wide range of customers?
Research the demand for such a website. Are there similar services or websites in your areas
or nearby cities?
Technical Feasibility
Determine the technical requirements for the website, such as hosting, programming
languages, and frameworks.
Assess your technical skills or those of your team, or the resources available to you.
Financial Feasibility
Estimate the project's budget. Consider costs such as domain registration, hosting,
development, and ongoing maintenance.
12
2.4 SOFTWARE REQUIREMENTS
FRONT END
HTML
The Hypertext Markup Language or HTML is the standard markup language for
documents designed to be displayed in a web browser. It can be assisted by technologies such
as Cascading Style Sheets (CSS) and scripting languages such as JavaScript.HTML elements
are the building blocks of HTML pages. With HTML constructs, images and other objects
such as interactive forms may be embedded into the rendered page.
CSS
CSS, or Cascading Style Sheets, is a design language that simplifies making web pages
presentable. Selectors are used to pick elements and apply styles to them. This is especially
important for browsers like Chrome, Firefox, and Edge, designed to deliver documents to
screens, printers, and projectors visually.CSS is widely used because offers selectors, text
13
effects, and layouts. I save’s time, has easy maintenance.
JAVASCRIPT
PHP
14
used general-purpose language that can be embedded into HTML. This functionality with
HTML means that the PHP language has remained popular with developers as it helps to
simplify HTML code.
PHP programming can be used to create most things that a software developer needs.
However, there are three main areas in which it thrives.
1. Server-side scripting Server-side Script is PHP’s main strength. If you are just learning to
code and want to explore server-side scripting, PHP is a great language to learn. To get
cracking with PHP server-side scripting you’ll need to have a PHP parser, web server and
web browser.
2. Command-line scripting Command-line scripting is ideal for scripts made using cron (Linux)
or Task Scheduler (Windows). It is also great for simple text processing.
3. Writing desktop applications PHP is probably not the best language to use to create desktop
applications but for the advanced web developer, it provides you with many more options
than its competitors.
15
MYSQL
MySQL is free and open-source software under the terms of the GNU General Public License, and
is also available under a variety of proprietary licenses. MySQL is offered under two different
editions: the open source MySQL Community Server and the proprietary Enterprise Server.
MySQL Enterprise Server is differentiated by a series of proprietary extensions which install as
server plugins, but otherwise shares the version numbering system and is built from the same code
base.
Features of MYSQL :-
Easy to use :
MySQL is easy to use. We have to get only the basic knowledge of SQL. We can build and interact
with MySQL by using only a few simple SQL statements.
It is secure
MySQL consists of a solid data security layer that protects sensitive data from intruders. Also,
passwords are encrypted in MySQL.
Scalable
MySQL supports multi-threading that makes it easily scalable. It can handle almost any amount of
data, up to as much as 50 million rows or more. The default file size limit is about 4 GB.
However, we can increase this number to a theoretical limit of 8 TB of data.
Speed
MySQL is considered one of the very fast database languages, backed by a large number of the
benchmark test
16
XAMPP
XAMPP is a cross-platform web server that is free and open-source. XAMPP is a short
form for Cross-Platform, Apache, MySQL, PHP, and Perl. XAMPP is a popular cross-
platform web server that allows programmers to write and test their code on a local
webserver.
With a single command, it may start and stop the entire web server and database stack.
17
Advanced Computer Specs for Web Development
It's important to know that desktop computers are more powerful and more responsive than
laptops. If you intend to work with hefty videos, think about investing in a desktop with RAID
(redundant array of independent disks) capability. If you find that you're working in a
discipline that requires you to pull up large files quickly, consider obtaining a solid-state drive
(SSD). Typically, you'll want a hard drive that is as large and as fast as possible. Look for one
that boasts 7200 RPM.
IDE
Why VS Code?
Code to learn-
Visual Studio Code highlights keywords in your code in different colors to help you easily
identify coding patterns and learn faster. You can also take advantage of features like
IntelliSense and Peck Definition, which help you understand how functions can be used, and
how they relate to one another.
18
Fix errors as you code-
As you code, Visual Studio Code gives you suggestions to complete lines of code and quick
fixes for common mistakes. You can also use the debugger in VS Code to step through each
line of code and understand what is happening. Check out guides on how to use the debugger if
you're coding in Python, Java, and JavaScript/TypeScript/Node.js.
Use the built-in source control to save your work over time so you don't lose progress. See a
graphical side-by-side view to compare versions of your code from different points in time.
Check out this quick video on how to get a side-by-side "diff".
19
CHAPTER 3
REQUIREMENT AND
ANALYSIS
3.1 Problem Definition
The online computer parts market faces significant challenges, hindering
customer satisfaction and business growth.
Customer Problems:
1. Difficulty finding reliable online sources for authentic products.
2. Insufficient product information (specs, compatibility, reviews).
3. Inability to physically inspect products before purchasing.
4. Concerns about payment security and data privacy.
5. Difficulty navigating complex product categories.
6. Inadequate customer support.
Requirements Analysis is the first stage in the systems engineering process and
software development process.
Requirements analysis in systems engineering and software engineering, encompasses
those tasks that go into determining the needs or conditions to meet for a new or
altered product, taking account of the possibly conflicting requirements of the various
stakeholders, such as beneficiaries or users.
20
3.3 SYSTEM REQUIREMENT
Hardware Requirements
Ram: 4-8 GB
Before I started to code, I never cared much about RAM. But it turns out it's a big
deal for programming. Your computer RAM will impact directly on your
productivity. So, how much RAM does a programmer need? For web and mobile
app programmers, 8GB of RAM will suffice. An 8GB RAM will be enough for
running IDES, VMs, and emulators required for web and mobile app development.
When considering CPUs, you should pick an up-to-date central processing unit as
this component is a lot harder to upgrade than, say, a hard drive or a graphics card.
This is especially true and important if you're opting for a laptop instead of a
desktop. Generally, Intel processors are more recommended than Ryzen ones,
especially the i5 or i7 of the 8th generation. If you want to be precise yet quick while
21
you code, you should pay extra attention when deciding on your CPU.
OTHER REQUIREMENTS
Operating Systems
When deciding on computer specs for Web development, you'll have to consider what type of operating
system that you'll want to use for work. While a handful of different operating systems exist, many, like
ChromeOS and Linux, have limitations or complexities that could complicate your training. That's why
many students choose Windows or macOS when attempting to learn Web development.
The ubiquity and flexibility of Windows will allow you more options when configuring a system, while
Mac operating systems offer their own set of benefits, such as virtualization software and Git tools. Keep
in mind that Apple machines do not offer many options for upgrading; this means that aside from
software, you'll be stuck with the specifications that you buy at the point of sale.
Generally, you'll want to purchase as big of a screen as is reasonable; you may even want to
set up two or more monitors at your workstation. A resolution of 1920 x 1080 or higher is
important, as it will offer you clear and crisp visuals of what you're creating. Web developers
who work more on the visual end tend to find Apple computers to be incredible workhorses, in
part because of the company's innovations with screens. Their Retina display, for example,
can help transform someone from a basic student to advanced visualizer.
22
Planning and Scheduling:
A schedule in your project's time table actually consists of sequenced activities and
milestones that are needed to be delivered under a given period of time.
Project schedule simply means a mechanism that is used to communicate and know about
that tasks are needed and has to be done or performed and which organizational resources
will be given or allocated to these tasks and in what time duration or time frame work is
needed to be performed.
Days Of
Sr. No.
Task Start Date End Date Complete
1 Project Name and Idea Research 01-Jun-24 24-Jun-24 23
2 Project Idea Shortlisting 24-Jun-24 28-Jun-24 4
3 Project Topic Selection and approval 29-Jun-24 30-Jun-24 1
4 Introduction 25-Jul-24 13-Aug-24 19
5 Survey of Technology 13-Aug-24 05-Sep-24 23
6 Requirement and Analysis 05-Sep-24 25-Sep-24 20
7 System Design 25-Sep-24 07-Oct-24 12
23
GANTT CHART
24
PART CHART
25
WATERFALL MODEL
Waterfall approach was first SDLC Model to be used widely in Software Engineering to
ensure success of the project. In "The Waterfall" approach, the whole process of
software development is divided into separate phases. In this Waterfall model, typically,
the outcome of one phase acts as the input for the next phase sequentially.
The following illustration is a representation of the different phases of the Waterfall Model.
26
architecture.
3. Implementation − With inputs from the system design, the system is first developed
in small programs called units, which are integrated in the next phase. Each unit is
developed and tested for its functionality, which is referred to as Unit Testing.
4. Integration and Testing − All the units developed in the implementation phase are
integrated into a system after testing of each unit. Post integration the entire system
is tested for any faults and failures.
5. Deployment of system − Once the functional and non-functional testing is done; the
product is deployed in the customer environment or released into the market.
6. Maintenance − There are some issues which come up in the client environment. To
fix those issues, patches are released. Also, to enhance the product some better
versions are released. Maintenance is done to deliver these changes in the customer
environment.
7. All these phases are cascaded to each other in which progress is seen as flowing
steadily downwards (like a waterfall) through the phases.
The advantages of waterfall development are that it allows for departmentalization and
control. A schedule can be set with deadlines for each stage of development and a
product can proceed through the development process model phases one by one.
27
Easy to manage due to the rigidity of the model.
Works well for smaller projects where requirements are very well understood.
28
Conceptual Models
Use case diagrams to tell us stylized stories about how end-users interact with the system
under specific sets of circumstances.
These stories might be narrative texts, task outlines or interactions, template-based
descriptions or diagrammatic representations.
Use case diagrams to depict software or systems from the end user’s point of view.
The first step in writing a use case diagram is to define the set of “actors” that will be
involved in the story.
An actor is anything that communicates with the system or product and that is external to the
system itself.
Once the actors have been identified, use cases can be developed.
29
Following are the components used in Use Case Diagrams:
30
Use case diagram
31
Use case diagram
A Data Flow Diagram (DFD) is a traditional visual representation of the information flows within a
system. A neat and clear DFD can depict the right amount of the system requirement graphically.
It shows how data enters and leaves the system, what changes the information, and where data is stored.
The objective of a DFD is to show the scope and boundaries of a system as a whole.
It may be used as a communication tool between a system analyst and any person who plays a part in the
order that acts as a starting point for redesigning a system.
32
33
Level 0
level 1
34
Flowchart:
They are widely used in multiple fields to document, study, plan, improve and communicate
often complex processes in clear, easy-to-understand diagrams.
Flowcharts, sometimes spelled as flow charts, use rectangles, ovals, diamonds, and potentially
numerous other shapes to define the type of step, along with connecting arrows to define flow
and sequence.
They can range from simple, hand-drawn charts to comprehensive computer-drawn diagrams
depicting multiple steps and routes. If we consider all the various forms of flowcharts, they are
one of the most common diagrams on the planet, used by both technical and non-technical
people in numerous fields.
35
Components of Flowchart:
36
Flow chart diagram
37
ACTIVITY DIAGRAM:
38
ACTIVITY DIAGRAM
39
ER DIAGRAM:
The Entity Relational Model is a model for identifying entities to be represented in the
database and representation of how those entities are related. The ER data model specifies
enterprise schema that represents the overall logical structure of a database graphically.
The Entity Relationship Diagram explains the relationship among the entities present in
the database. ER models are used to model real-world objects like a person, a car, or a
company and the relation between these real-world objects. In short, the ER Diagram is
the structural format of the database.
40
Er diagram
41
Class diagram :
The class diagram depicts a static view of an application. It represents the types of objects
residing in the system and the relationships between them. A class consists of its objects,
and also it may inherit from other classes. A class diagram is used to visualize, describe,
document various different aspects of the system, and also construct executable software
code.
It shows the attributes, classes, functions, and relationships to give an overview of the
software system. It constitutes class names, attributes, and functions in a separate
compartment that helps in software development. Since it is a collection of classes,
interfaces, associations, collaborations, and constraints, it is termed as a structural diagram.
42
Basic components of a class diagram
Upper section: Contains the name of the class. This section is always required, whether
you are talking about the classifier or an object.
Middle section: Contains the attributes of the class. Use this section to describe the
qualities of the class. This is only required when describing a specific instance of a
class.
Bottom section: Includes class operations (methods). Displayed in list format, each
operation takes up its own line. The operations describe how a class interacts with data.
All classes have different access levels depending on the access modifier (visibility). Here
are the access levels with their corresponding symbols:
Public (+)
Private (-)
Protected (#)
Package (~)
Derived (/)
Static (underlined)
43
Class diagram
44
Sequence diagram :
45
The sequence diagram represents the flow of messages in the system and is also termed as
an event diagram. It helps in envisioning several dynamic scenarios. It portrays the
communication between any two lifelines as a time-ordered sequence of events, such that
these lifelines took part at the run time. In UML, the lifeline is represented by a vertical bar,
whereas the message flow is represented by a vertical dotted line that extends across the
bottom of the page. It incorporates the iterations as well as branching.
Lifeline
Actor
46
A role played by an entity that interacts with the subject is called as an actor. It is out of the
scope of the system. It represents the role, which involves human users and external
hardware or subjects. An actor may or may not represent a physical entity, but it purely
depicts the role of an entity. Several distinct roles can be played by an actor or vice versa.
Activation
It is represented by a thin rectangle on the lifeline. It describes that time period in which an
operation is performed by an element, such that the top and the bottom of the rectangle is
associated with the initiation and the completion time, each respectively.
47
Messages
The messages depict the interaction between the objects and are represented by arrows.
They are in the sequential order on the lifeline. The core of the sequence diagram is formed
by messages and lifelines.
48
Return Message: It defines a particular communication between the lifelines of
interaction that represent the flow of information from the receiver of the corresponding
caller message.
49
Create Message: It describes a communication, particularly between the
lifelines of an interaction describing that the target (lifeline) has been
instantiated.
50
Duration Message: It describes a communication particularly between the lifelines
of an interaction, which portrays the time passage of the message while modelling a
system.
51
Sequence diagram
52
CHAPTER 4
SYSTEM DESIGN
Administration
If users assign new project, then can add it via updating web application
Update website with new features and projects
Monitor and allow only authorize users
Keep the websites updated as per user/client request
User/client
1. Register
2. Login
3. Reset password /change password
4. Functions
5. Payment
6. Logout
Why
53
4.2. Data Design
A schema diagram is a diagram which contains entities and the attributes that will define that
schema. A schema diagram only shows us the database design. It does not show the actual data of
the database. Schema can be a single table or it can have more than one table which is related.
Schema is of three types: Logical Schema, Physical Schema and view Schema.
1. Logical Schema – It describes the database designed at logical level.
2. Physical Schema – It describes the database designed at physical level.
3. View Schema – It defines the design of the database at the view level.
Data integrity and constraints are sets of rules. It is used to maintain the quality of information store
in database. Integrity constraints ensure that the data insertion, updating, and other processes have
to be performed in such a way that data integrity is not affected. Thus, integrity constraint is used to
guard against accidental damage to the database.
54
Domain Constraint Domain constraints can be defined as the definition of a valid set of values for
an attribute. The data type of domain includes string, character, integer, time, date, currency, etc.
The value of the attribute must be available in the corresponding domain
Entity Integrity Constraint The entity integrity constraint states that primary key value can't be
null. This is because the primary key value is used to identify individual rows in relation and if
the primary key has a null value, then we can't identify those rows. A table can contain a null
value other than the primary key field.
Referential Integrity Constraint A referential integrity constraint is specified between two tables.
In the Referential integrity constraints, if a foreign key in Table 1 refers to the Primary Key of
Table 2, then every value of the Foreign Key in Table 1 must be null or be available in Table 2.
Key Constraint Keys are the entity set that is used to identify an entity within its entity set
uniquely. An entity set can have multiple keys, but out of which one key will be the primary key.
A primary key can contain a unique and null value in the relational table.
55
4.3. User Interface Design:
A login page is a web page or an entry page to a website that requires user
identification and authentication, regularly performed by entering a username and
password combination.
Logins may provide access to an entire site or part of a website.
Logging in not only provides site access for the user, but also allows the website to
track user actions.
The user can login or sign in the application.
56
4.3.3. Home Page
57
58
4.4 Security Issues
Data Privacy
Ensure that you collect and store user data, especially facial images, in a secure and
privacy-compliant manner. Implement strong data encryption to protect sensitive
information.
User Authentication
Use secure and robust user authentication methods to prevent unauthorized access to the
application. Implement strong password policies and consider multi-factor authentication
for enhanced security.
Server Security
Secure your server against common web vulnerabilities, including SQL injection, cross-
site scripting (XSS), and cross-site request forgery (CSRF). Regularly update and patch
server software and libraries to protect against known vulnerabilities.
AI Model Security
Ensure the AI model used for facial expression recognition is not vulnerable to
adversarial attacks, where malicious inputs can trick the model.
API Security
If you expose an API for your application, implement proper authentication and
authorization mechanisms to prevent misuse or unauthorized access.
In today’s world, cyber security is very important because of some security threats and
cyber-attacks. For data protection, many companies develop software.
This software protects the data. Cyber security is important because not only it helps to
secure information but also our system from virus attack.
So that to protect our project from cyber-attacks is necessary.
59
Cybercrimes may occur directly i.e., targeting the computers directly by spreading
computer viruses. Other forms include DoS attack.
In this condition Our web app effectiveness get compromised for that data validation is
required to prevent security threat.
Following are steps that has been taken to protect user data
User must need to enter his id and password to access the web app
If id and password is invalid then user can see error message
Id and password can be verified by database
Data uniqueness and data validation can be done via database
Security prompting the user for a user id and password in our application is a
potential security threat. So credential information is transferred from the browser to
server are encrypted.
Cookies are an easy and useful way to keep user-specific information available.
However, because cookies are sent to the browser's computer, they are vulnerable to
spoofing or other malicious use.
Do not store any critical information in cookies. For example, do not store a user's
password in a cookie, even temporarily.
Avoid permanent cookies if possible. Consider encrypting information in cookies.
Set expiration dates on cookies to the shortest practical time we can.
4.5 References
60
https://www.javatpoint.com/
Software engineering book of BSCIT
https://chat.openai.com/c/37a6a634-543d-4068-a034-74a8bad58390
https://www.canva.com/
61