You are on page 1of 63

Guru Nanak Dev University, Amritsar

Six Month Industrial Training Project Report

On

“Stop and Shop”

Submitted in the Partial fulfilment of the requirement for the Award of Degree of

Bachelors of Technology

In

COMPUTER SCIENCE & ENGINEERING

Batch

(2016-2020)

SUBMITTED TO: SUBMITTED BY:

Mr. Chetan Marwaha Sukhmani Kaur Sandhu

B.Tech (CSE)

2016CSA1201

DEPARTMENT OF COMPUTER ENGINEERING

AND TECHNOLOGY

1
DECLARATION

I hereby declare that the project work submitted by me, is in fulfilment for the Bachelor of
Technology (Computer Science and Engineering), Guru Nanak Dev University, Amritsar has
an authentic record of work carried out by me in the B.Tech final semester of degree in the
period 2016-2020.

I further declare that this work have not been submitted for the award of any other degree or
fellowship.

Sukhmani Kaur Sandhu

2
CERTIFICATE

This is to certify that the Project reports entitled “Stop and Shop” submitted to “GURU
NANAK DEV UNIVERSITY AMRITSAR” in fulfilment of the requirement of the degree of
“BACHELOR OF TECHNOLOGY (B.TECH)” in the department of the COMPUTER
ENGINEERING AND TECHNOLOGY, GURU NANAK DEV UNIVERSITY,
AMRITSAR beneficial piece of work carried out by Sukhmani Kaur Sandhu has been
completed under my supervision.

Dated: ……………….. _____________________

Signature of Supervisor

3
ACKNOWLEDGEMENT

This project is an acknowledgement in itself to the intensity, drive and competence of many
individuals, who have contributed to it. We list here only a few of them. One individual is
Mr. Chetan Marwaha. We are extremely thankful to him for devoting his valuable time and
imparting knowledge to us. With his valuable guidance, the course up to the completion of
software became smooth without much cared hurdles. He was always friendly and
encouraging during the development of project.

I am thankful to organization (VMM EDUCATION) for their support, cooperation, and


motivation provided to us during the training for constant inspiration, presence and blessings.

I also extend my sincere appreciation to organization that provided their valuable suggestions
and precious time in accomplishing our Project report.

We pay special thanks to all the staff members of the department of computer science for
their help at every stage. They helped in every respect during the tenure.

Lastly, we thank our parents and friends for their moral support in every sphere. Their vital
push infused sense of insurgency in us, we are thankful to them for their assistance and
cooperation.

Sukhmani Kaur Sandhu

4
INTERNSHIP CONFIRMATION

5
TABLE OF CONTENTS

Contents Page No.

1. Organisation Profile……………………………………………………7-8

2. Introduction to Project …………………………………………………9-10

3. Software Model……….………………………………………………..11-13

4. Requirement Analysis………………………………………………….14-33
4.1. Existing System……………………………………………………14
4.2. Proposed System…………………………………………………..14-16
4.3. Hardware/Software Requirements………………………………...17-18
4.4. Front End…………………………………………………………..19-30
4.5.Back End…………………………………………………………...31-33
5. Feasibility Study…………………………………….............................34-36

6. Design………………………………………………………………….37-44
6.1.Data Flow Diagram…………………………………………...……37--39
6.2.E-R Diagram………………………………………………………..40
6.3.Database Schema…………………………………………………...41-44
7. Screenshots…………….……………………………………………....45-57

8. Testing…………………………………………………………………58-61

9. Conclusion……………………………………………………………..62

10. Bibliography…………………………………………………………...63

6
1. ORGANIZATION PROFILE

VMM Education’s journey started in January 2005 with a vision of bringing computer
education of global standard to the holy city of Amritsar. To turn this dream into reality we
create a talent pool of bright young minds who would power the engines of growth of the
global economy. Today seven years later VMM Education or VMM, as it is popularly
known, is the largest and the most trusted computer centre of the region, with annual turn out
of more than 1000 students. The reason for the success of VMM is simply the “Hard work”
that our team has put in these seven years.

VMM Education:

VMM Education provides world class training in global technologies such as .Net and Linux,
while keeping our syllabus up to date with the current industry standard. We have managed to
successfully train more than 7000 engineers who are currently working in Global
Multinationals like TCS, Tech Mahindra, Infosys, and CSC etc.

VMM is today the favorite choice of students of various engineering college for pursuing
their six months or six weeks industrial training .A unique “industry-endorsed curriculum,”
crafted by professionals of VMM which enhances the job-readiness and employability of
learners and equips them for the IT Industry.

To provide IT education which can match with the global IT standards, VMM also
undertakes industrial projects from UK & USA under the banner of Venus Software
Solutions like im4schools.co.uk and many more. This allows our students to work on the live
projects and make projects for the industry. Some of our products include Point of sale
software for Super Markets with barcode reader support, Finger print attendance
Management System that works for schools, colleges and other institutes, Remote LAN
Controller which is used to view remote desktops on LAN or WAN.

VMM has the world class computer labs that are equipped with the latest Hardware and
software so that the students can do practical without any hindrance. We continuously
upgrade our hardware and software’s every 6 months.

Attendance of students is one of the major features of VMM, students are required to record
their day to day attendance using Biometric Finger-print Recognition device. This allows us

7
to provide accurate attendance of students to their parents and college during their training
time.

Some Key learning solutions for Individuals include the following:

Foundation course

This course includes two languages C and C++ that allows us to build a strong foundation of
programming for the beginner and First year & Second year engineering graduates.

Six Weeks Industrial training

This training program which is of 42 working days allows the 3rd year engineering graduates
to get hands on experience on either of the following technologies VB.Net ,C#.Net & SQL.
This training is pretty intensive as the students are required to spend 4-8 hours at the institute
learning any one of the above languages along with developing a project by working in team.
This allows students to learn how to work as team member and also gets hands on training on
the latest technology.

Six Months Industrial Training

Doing your six months industrial training at VMM is a very special experience for any
engineering graduate as it allows the students to nurture his / her of knowledge by working on
Technologies like ASP.Net, Silverlight, and AJAX etc. The candidate is required to spend
almost whole day at institute doing their Lab practical or attending their tutorial lecture and
developing a project which they can submit in their college as a part of dissertation.

8
2. INTRODUCTION TO PROJECT

This project is a web based online apparel shopping. This project is an attempt to provide the
advantages of online shopping to customers. It helps buying the products in the shop
anywhere through internet. Thus the customer will get the service of online shopping and
home delivery.

The central concept of the application is to allow the customer to shop virtually using the
Internet and allow customers to buy the items and articles of their desire from the store. The
information pertaining to the products are stores on an RDBMS at the server side.

The Server process the customers and the items are shipped to the address submitted by them.
The application was designed into two modules first is for the customers who wish to buy the
articles. Second is for the administrator who maintains and updates the information pertaining
to the articles and those of the customers. The application which is deployed at the customer
database, the details of the items are brought forward from the database for the customer view
based on the selection through the menu and the database of all the products are updated at
the end of each transaction. Data entry into the application can be done through various
screens designed for various levels of users. Once the authorized personnel feed the relevant
data into the system, several reports could be generated as per the security.

Objective:

E-commerce is fast gaining ground as an accepted and used business paradigm. More and
more business houses are implementing web sites providing functionality for performing
commercial transactions over the web. It is reasonable to say that the process of shopping on
the web is becoming commonplace. The objective of this project is to develop a general
purpose e-commerce store where product like clothes can be bought from the comfort of
home through the Internet.
For increasing the use of e-commerce in developing countries the B2B e-commerce is
implemented for improving access to global markets for firms in developing countries. For a
developing country advancement in the field of e-commerce is essential. The research
strategy shows the importance of the e-commerce in developing countries for business
applications.

9
FEATURES
Admin: The administrator is the super user of this application. Only admin have access into
this admin page. The administrator has all the information about all the users and about all
products. Role of admin:

1. Manage Admin user


2. Admin login
3. Change/recover password
4. Manage Categories (Add, View, Edit, Delete):
Admin Can Manage the Category by adding new Category, edit category, view
category and by Deleting it.
5. Manage Sub-Categories (Add, View, Edit, Delete):
Admin Can Manage the Sub-Category by adding new sub-Category, Edit Sub-
category, view Sub-category and by Deleting it.
6. Manage Products (Add, View, Edit, Delete)
7. Manage product gallery
8. View Order Details (View, Confirmation, Email)
Admin can manage Order Details by managing Orders received, Orders packed
and Orders shipped.

User: A new user will have to register in the system by providing essential details in order to
view the products in the system. User can perform the following functions:

1. Signup
2. Login
3. Change /recover password
4. Search Category
5. View All Product
6. View Hot Deals
7. Manage Cart
8. Discount and Deals
9. View Newly Added Product
10. Buy Product using By Online payment or COD
11. View your Orders
12. Rate Products

10
3. SOFTWARE MODEL

Waterfall Model

The waterfall model is a sequential design process, often used in software development
processes, in which progress is seen as flowing steadily downwards (like a waterfall) through
the phases of Conception, Initiation, Analysis, Design, Coding, Testing, Implementation, and
Maintenance.

In waterfall model, the following phases are followed in order:

1. Requirements specification

2. Feasibility Study

11
3. Design & Coding

4. Integration & Testing

5. Implementation

6. Maintenance

Requirement Analysis & Definition: All possible requirements of the system to be


developed are captured in this phase. Requirements are set of functionalities and constraints
that the end-user (who will be using the system) expects from the system. The requirements
are gathered from the end-user by consultation, these requirements are analyzed for their
validity and the possibility of incorporating the requirements in the system to be development
is also studied. Finally, a Requirement Specification document is created which serves the
purpose of guideline for the next phase of the model.

System & Software Design: Before a starting for actual coding, it is highly important to
understand what we are going to create and what it should look like? The requirement
specifications from first phase are studied in this phase and system design is prepared.
System Design helps in specifying hardware and system requirements and also helps in
defining overall system architecture. The system design specifications serve as input for the
next phase of the model.

Implementation & Unit Testing: On receiving system design documents, the work is
divided in modules/units and actual coding is started. 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; this is referred to as Unit Testing. Unit testing mainly verifies if
the modules/units meet their specifications.

Integration & System Testing: As specified above, the system is first divided in units which
are developed and tested for their functionalities. These units are integrated into a complete
system during Integration phase and tested to check if all modules/units coordinate between
each other and the system as a whole behaves as per the specifications. After successfully
testing the software, it is delivered to the customer.

Operations & Maintenance: This phase of "The Waterfall Model" is virtually never ending
phase (Very long). Generally, problems with the system developed (which are not found

12
during the development life cycle) come up after its practical use starts, so the issues related
to the system are solved after deployment of the system. Not all the problems come in picture
directly but they arise time to time and needs to be solved; hence this process is referred as
Maintenance.

Advantages

The advantage of waterfall development is that it allows for departmentalization and


managerial control. A schedule can be set with deadlines for each stage of development and a
product can proceed through the development process like a car in a carwash, and
theoretically, be delivered on time. Development moves from concept, through design,
implementation, testing, installation, troubleshooting, and ends up at operation and
maintenance. Each phase of development proceeds in strict order, without any overlapping or
iterative steps.

Disadvantages

The disadvantage of waterfall development is that it does not allow for much reflection or
revision. Once an application is in the testing stage, it is very difficult to go back and change
something that was not well-thought out in the concept stage. Alternatives to the waterfall
model include joint application development (JAD), rapid application development (RAD),
synch and stabilize, build and fix, and the spiral model.

13
4. REQUIREMENT ANALYSIS

4.1. Existing System

The present scenario for shopping is to visit the shops and market manually and then from the
available product list one needs to choose the item he or she wants and then pay for the same
item mainly in cash mode is done, as not every society is well educated and aware to use net
banking or card modes or wallets etc.

This system is not much user-friendly as one need to go to the market physically and then
select items only from the available list. So mostly it is difficult to get the product as per our
desire.

Descriptions about the products are less available and are mostly verbal only. For this type of
shopping, one needs to have ample amount of free time. Also not really good markets exist
everywhere, so many times good markets become out of reach for certain people.

4.2. Proposed System

Electronic Commerce is process of doing business through computer networks. A person


sitting on his chair in front of a computer can access all the facilities of the Internet to buy or
sell the products.

Unlike traditional commerce that is carried out physically with effort of a person to go & get
products, ecommerce has made it easier for human to reduce physical work and to save
time.

E-Commerce which was started in early 1990’s has taken a great leap in the world of
computers, but the fact that has hindered the growth of e-commerce is security. Security is
the challenge facing e-commerce today & there is still a lot of advancement made in the field
of security.

The main advantage of e-commerce over traditional commerce is the user can browse online
shops, compare prices and order merchandise sitting at home on their PC.

For increasing the use of e-commerce in developing countries the B2B e-commerce is
implemented for improving access to global markets for firms in developing countries. For a

14
developing country advancement in the field of e-commerce is essential. The research
strategy shows the importance of the e-commerce in developing countries for business
applications.

In the proposed system customers need not to go to the shops for purchasing the products.
He/ She can order the product he/she wishes to buy through the use of this system.

The shop owner can be the admin of the system. The shop owner can appoint officials
particularly to handle this, who will help the owner in managing the customers and product
orders. Customer can view hot deals of the products from home. Customer can also add items
to the wish list for the future reference. And, with the help of rating of products, the quality
check can be ensured properly.

The system also endorses a home delivery system for delivering the purchased products.

Advantages:

E-commerce is a way for manufacturers to experiment with new products without risking a
significant investment. Instead of setting up brick-and-mortar stores, or keeping inventory on
hand, you can start offering this new product on your new store:

➢ Direct access to customers. Besides having higher profit margins, you will interact
with customers, letting you learn from them and fine-tune products.

➢ More prospects. A larger arena yields more sales possibilities, although you have to
be cognizant of your existing distributors. Potential problems can often be sidestepped
by offering your products to a different market, so you’re not competing with your
current network.

• Opportunities to innovate. Finding customers outside your existing relationships


also frees you from the specs you have to adhere to now. If you have an idea for a
better product, you can act on it, allowing for product analysis and iteration over
time based on what your customers wants.

15
• Scalability. An effective application of e commerce in manufacturing will enable
your organization to grow and scale easily to meet market demand and customer
needs by opening new sales channels and continuously reaching new market
segments.

• Improved efficiencies. Through integration to the enterprise resource planning


(ERP) and other back-end business systems, ecommerce provides marked
efficiencies for manufacturers. Customers are able to order online whenever and
wherever suits them, customer service can focus on actual customer service functions
– such as transparent freight shipping costs and timely shipping – rather than simply
being order takers, and the need to rekey data in independent systems is eliminated,
thereby eliminating the possibility of errors and improving shipping processes and
increasing order throughput.

• Improved brand awareness. Just as ecommerce can help manufacturers and


industrial distributors find new customers, so can it help improve brand awareness in
the market place. Developing pages that can be indexed by search engine crawlers is
the fastest way to improve your site’s search engine optimization and improve the
likelihood that your target audience will know who you are.

• Analytics. The application of e commerce in manufacturing provides the perfect


platform for an organization to launch a comprehensive analytics campaign. Through
ecommerce, manufacturers and distributors can measure and evaluate marketing
campaigns, sales effectiveness, product mix, inventory turns, customer sales
effectiveness, and customer engagement like never before. When combined with a
freight shipping application in the shopping cart which is bolted onto
a transportation management system, you truly can use data to make better and
better business decisions that impact the bottom line.

16
4.3. Hardware/Software Requirements

This section describes the hardware components and software requirements needed for
effective and efficient running of the system.

Hardware Requirement

During Development

RAM: 4gb minimum or 8gb recommended

Storage 120gb Hard Disk or 120gb SSD recommended


Processor: i3 or Above

Post Development

RAM: 4gb minimum or 8gb recommended

Storage 120gb SSD recommended


Processor: i3 or Above

17
Software Requirements

During Development

1. Python 3.8 interpreter


2. PyCharm
3. Xampp

Operating System: Window10 (32-or-64-bit) or Linux

Post Development

• Server
a. Django server
b. MySQL
c. Python 3.8 interpreter

Operating System: Window (32-or-64-bit) or Linux

• Client
a. Browser: Chrome, Firefox and Edge

18
4.4. Front End

Introduction to Python

Python is an interpreted high-level programming language for general-purpose programming.


Created by Guido Van Rossum and first released in 1991, Python has a design philosophy
that emphasizes code readability, notably using significant whitespace. It provides constructs
that enable clear programming on both small and large scales. Python features a dynamic
type system and automatic memory management. It supports multiple programming
paradigms, including object-oriented, imperative, functional and procedural, and has a large
and comprehensive standard library. Python interpreters are available for many operating
systems. Python, the reference implementation of Python, is open source software and has a
community-based development model, as do nearly all of its variant implementations. Python
is managed by the non-profit Python Software Foundation.

Python is a multi-paradigm programming language. Object-oriented programming and


structured programming are fully supported, and many of its features support functional
programming and aspect-oriented programming (including by Meta programming and Meta
objects (magic methods)). Many other paradigms are supported via extensions, including
design by contract and logic programming.

Python uses dynamic typing, and a combination of reference counting and a cycle-detecting
garbage collector for memory management. It also features dynamic name resolution (late
binding), which binds method and variable names during program execution. Python's design
offers some support for functional programming in the Lisp tradition. It has filter (), map (),
and reduce () functions; list comprehensions, dictionaries, and sets; and generator
expressions.

19
• Python is Interpreted − Python is processed at runtime by the interpreter. You do
not need to compile your program before executing it. This is similar to PERL and
PHP.

• Python is Interactive − You can actually sit at a Python prompt and interact with the
interpreter directly to write your programs.

• Python is Object-Oriented − Python supports Object-Oriented style or technique of


programming that encapsulates code within objects.

• Python is a Beginner's Language − Python is a great language for the beginner-level


programmers and supports the development of a wide range of applications from
simple text processing to WWW browsers to games.

Python's features include −

• Easy-to-learn − Python has few keywords, simple structure, and a clearly defined
syntax. This allows the student to pick up the language quickly.

• Easy-to-read − Python code is more clearly defined and visible to the eyes.

• Easy-to-maintain − Python's source code is fairly easy-to-maintain.

• A broad standard library − Python's bulk of the library is very portable and cross-
platform compatible on UNIX, Windows, and Macintosh.

• Interactive Mode − Python has support for an interactive mode which allows
interactive testing and debugging of snippets of code.

• Portable − Python can run on a wide variety of hardware platforms and has the same
interface on all platforms.

• Extendable − You can add low-level modules to the Python interpreter. These
modules enable programmers to add to or customize their tools to be more efficient.

• Databases − Python provides interfaces to all major commercial databases.

• GUI Programming − Python supports GUI applications that can be created and
ported to many system calls, libraries and windows systems, such as Windows MFC,
Macintosh, and the X Window system of Unix.

20
• Scalable − Python provides a better structure and support for large programs than
shell scripting.

Apart from the above-mentioned features, Python has a big list of good features, few are
listed below −

• It supports functional and structured programming methods as well as OOP.

• It can be used as a scripting language or can be compiled to byte-code for building


large applications.

• It provides very high-level dynamic data types and supports dynamic type checking.

• It supports automatic garbage collection.

• It can be easily integrated with C, C++, COM, ActiveX, CORBA, and Java.

Django

Django was born in 2003 in a press agency of Lawrence, Kansas. It is a web framework that
uses Python to create websites. Its goal is to write very fast dynamic websites. In 2005, the
agency decided to publish the Django source code in the BSD license. In 2008, the Django
Software Foundation was created to support and advance Django. Version 1.00 of the
framework was released a few months later.

Django's slogan is explicit. This framework was created to accelerate the development phase
of a site, but not exclusively. Indeed, this framework uses the MVC pattern, which enables us
to have a coherent architecture, as we will see in the next chapter.

Until 2013, Django was only compatible with Python version 2.x, but Django 1.5 released on
February 26, 2013, points towards the beginning of Python 3 compatibility.

21
Today, big organizations such as the Instagram mobile website, Mozilla.org, and
Openstack.org are using Django.

Advantages of Django

• Object-Relational Mapping (ORM) Support − Django provides a bridge between


the data model and the database engine, and supports a large set of database systems
including MySQL, Oracle, Postgres, etc. Django also supports NoSQL database
through Django-nonrel fork. For now, the only NoSQL databases supported are
MongoDB and Google app engine.

• Multilingual Support − Django supports multilingual websites through its built-in


internationalization system. So you can develop your website, which would support
multiple languages.

• Framework Support − Django has built-in support for Ajax, RSS, Caching and
various other frameworks.

• Administration GUI − Django provides a nice ready-to-use user interface for


administrative activities.

• Development Environment − Django comes with a lightweight web server to


facilitate end-to-end application development

Django – a web framework

A framework is a set of software that organizes the architecture of an application and makes a
developer's job easier. A framework can be adapted to different uses. It also gives practical
tools to make a programmer's job faster. Thus, some features that are regularly used on a
website can be automated, such as database administration and user management.
Once a programmer handles a framework, it greatly improves their productivity and the code
quality.

The MVC framework


Before the MVC framework existed, web programming mixed the database access code and
the main code of the page. This returned an HTML page to the user. Even if we are storing
CSS and JavaScript files in external files, server-side language codes are stored in one file
that is shared between at least three languages: Python, MYSQL and HTML.

22
The MVC pattern was created to separate logic from representation and have an internal
architecture that is more tangible and real. The Model-View-Controller (MVC) represents
the three application layers that the paradigm recommends:

• Models: These represent data organization in a database. In simple words, we can say
that each model defines a table in the database and the relations between other
models. It's thanks to them that every bit of data is stored in the database.
• Views: These contain all the information that will be sent to the client. They make
views that the final HTML document will generate. We can associate the HTML code
with the views.
• Controllers: These contain all the actions performed by the server and are not visible
to the client. The controller checks whether the user is authenticated or it can generate
the HTML code from a template.

The following are the steps that are followed in an application with the MVC pattern:

1. The client sends a request to the server asking to display a page.


2. The controller uses a database through models. It can create, read, update, or delete
any record or apply any logic to the retrieved data.

23
3. The model sends data from the database; for example, it sends a product list if we
have an online shop.
4. The controller injects data into a view to generate it.
5. The view returns its content depending on the data given by the controller.
6. The controller returns the HTML content to the client.

The MVC pattern enables us to get coherence for each project's worker. In a web agency
where there is a web designer and there are developers, the web designer is the head of the
views. Given that views contain only the HTML code, the web designer will not be disturbed
by the developer's code. Developers edit their models and controllers.

Django, in particular, uses an MVT pattern. In this pattern, views are replaced by templates
and controllers are replaced by views. In the rest of this book, we will be using MVT
patterns. Hence, our HTML code will be templates, and our Python code will be views and
models.

Why use Django?


The following is a non-exhaustive list of the advantages of using Django:
• Django is published under the BSD license, which assures that web applications can
be used and modified freely without any problems; it's also free.
• Django is fully customizable. Developers can adapt to it easily by creating modules or
overridden framework methods.
• This modularity adds other advantages. There are a lot of Django modules that you
can integrate into Django. You can get some help with other people's work because
you will often find high-quality modules that you might need.
• Using Python in this framework allows you to have benefits from all Python libraries
and assures a very good readability.
• Django is a framework whose main goal is perfection. It was specifically made for
people who want clear code and a good architecture for their applications. It totally
respects the Don't Repeat Yourself (DRY) philosophy, which means keeping the
code simple without having to copy/paste the same parts in multiple places.
• With regards to quality, Django integrates lots of efficient ways to perform unit tests.

24
• Django is supported by a good community. This is a very important asset because it
allows you to resolve issues and fix bugs very fast. Thanks to the community, we can
also find code examples that show the best practices.

Django has got some disadvantages too. When a developer starts to use a framework, he /she
begins with a learning phase. The duration of this phase depends on the framework and the
developer. The learning phase of Django is relatively short if the developer knows Python
and object-oriented programming.

HTML

Hypertext Markup Language (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 Web browsers receive
HTML documents from a web server or from local storage and render the documents into
multimedia web pages. HTML describes the structure of a web page semantically and
originally included cues for the appearance of the document.
Features of HTML
• It is a very easy and simple language. It can be easily understood and modified.
• It is very easy to make an effective presentation with HTML because it has a lot of
formatting tags.
• It is a markup language, so it provides a flexible way to design web pages along
with the text.
• It facilitates programmers to add a link on the web pages (by html anchor tag), so it
enhances the interest of browsing of the user.
• It is platform-independent because it can be displayed on any platform like
Windows, Linux, and Macintosh, etc.

25
• It facilitates the programmer to add Graphics, Videos, and Sound to the web pages
which makes it more attractive and interactive.
• HTML is a case-insensitive language, which means we can use tags either in lower-
case or upper-case.
Building blocks of HTML
HTML document consist of its basic building blocks which are:
• Tags: HTML tag surrounds the content and applies meaning to it. It is written
between < and > brackets.
• Attribute: An attribute in HTML provides extra information about the element, and it
is applied within the start tag. An HTML attribute contains two fields: name & value.
Syntax
<tag name attribute_name=”attr_value"> content </ tag name>
• Elements: An HTML element is an individual component of an HTML file. In an
HTML file, everything written within tags is termed as HTML elements.

CSS (Cascading Style Sheet)

CSS stands for Cascading Style Sheets. It is a style sheet language which is used to describe
the look and formatting of a document written in markup language. It provides an additional
feature to HTML. It is generally used with HTML to change the style of web pages and user
interfaces. It can also be used with any kind of XML documents including plain XML, SVG
and XUL.
CSS handles the look and feel part of a web page. Using CSS, you can control the colour of
the text, the style of fonts, the spacing between paragraphs, how columns are sized and laid
out, what background images or colours are used, layout designs, and variations in display for
different devices and screen sizes as well as a variety of other effects.

26
CSS is used along with HTML and JavaScript in most websites to create user interfaces for
web applications and user interfaces for many mobile applications.
Why use CSS:-
These are the three major benefits of CSS:
1) Solves a big problem
Before CSS, tags like font, color, background style, element alignments, border and size had
to be repeated on every web page. This was a very long process. For example: If you are
developing a large website where fonts and color information are added on every single page,
it will be become a long and expensive process. CSS was created to solve this problem. It
was a W3C recommendation.
2) Saves a lot of time
CSS style definitions are saved in external CSS files so it is possible to change the entire
website by changing just one file.
3) Provide more attributes
CSS provides more detailed attributes than plain HTML to define the look and feel of the
website.

CSS Syntax:-
A CSS rule set contains a selector and a declaration block.

Selector: Selector indicates the HTML element you want to style. It could be any tag like
<h1>, <title> etc.
Declaration Block: The declaration block can contain one or more declarations separated by
a semicolon. For the above example, there are two declarations:
1. color: yellow;
2. font-size: 11px;
Each declaration contains a property name and value, separated by a colon.
Property: A Property is a type of attribute of HTML element. It could be color, border etc.

27
Value: Values are assigned to CSS properties. In the above example, value "yellow" is
assigned to color property.

BOOTSTRAP

Bootstrap is the popular HTML, CSS and JavaScript framework for developing a responsive
and mobile friendly website. Bootstrap is a free front-end framework for faster and easier
web development. Bootstrap includes HTML and CSS based design templates for
typography, forms, buttons, tables, navigation, models, image carousels and many other, as
well as optional JavaScript plugins. Bootstrap also gives you the ability to easily create
responsive designs.

What Bootstrap package contains:


➢ Scaffolding: Bootstrap provides a basic structure with Grid System, link styles, and
background.
➢ CSS: Bootstrap comes with the feature of global CSS settings, fundamental HTML
elements style and an advanced grid system.
➢ Components: Bootstrap contains a lot of reusable components built to provide
iconography, dropdowns, navigation, alerts, pop-overs, and much more.
➢ JavaScript Plugins: Bootstrap also contains a lot of custom jQuery plugins. You can
easily include them all, or one by one.
➢ Customize: Bootstrap components are customizable and you can customize
Bootstrap's components, LESS variables, and jQuery plugins to get your own style.

Bootstrap is mobile friendly: Bootstrap 3 is designed to be responsive to mobile devices.


Mobile-first styles are part of the core framework of Bootstrap. You have to add the
following <meta> tag inside the <head> element for proper rendering and touch zooming:
<meta name="viewport" content="width=device-width, initial-scale=1">

28
The "width=device-width" part is used to set the width of the page to follow the screen-
width of the device (vary according to the devices).
The initial-scale=1 part is used to set the initial zoom level when the page is first loaded by
the browser.
Containers: container is used to wrap the site contents. There are two container classes.
o The .container class provides a responsive fixed width container.
o The .container-fluid class provides a full width container, spanning the entire width
of the viewport.

Bootstrap Grid System


The Bootstrap Grid System allows up to 12 columns across the page. You can use all 12
columns individually or you can groups the columns together to create wider columns.

Bootstrap Grid System is responsive and the columns are re-arranged automatically
according to the screen size.

JAVASCRIPT

JavaScript is the programming language of HTML and the Web. JavaScript is easy to learn.
JavaScript is an object-based scripting language which is lightweight and cross-platform.
JavaScript is not a compiled language, but it is a translated language. The JavaScript
Translator (embedded in the browser) is responsible for translating the JavaScript code for

29
the web browser. JavaScript (js) is a light-weight object-oriented programming language
which is used by several websites for scripting the WebPages. It is an interpreted, full-fledged
programming language that enables dynamic interactivity on websites when applied to an
HTML document. It was introduced in the year 1995 for adding programs to the WebPages in
the Netscape Navigator browser. Since then, it has been adopted by all other graphical web
browsers. With JavaScript, users can build modern web applications to interact directly
without reloading the page every time. The traditional website uses js to provide several
forms of interactivity and simplicity.
Although, JavaScript has no connectivity with Java programming language, the name was
suggested and provided in the times when Java was gaining popularity in the market. In
addition to web browsers, databases such as CouchDB and MongoDB use JavaScript as their
scripting and query language.

Application of JavaScript
JavaScript is used to create interactive websites. It is mainly used for:
➢ Client-side validation,
➢ Dynamic drop-down menus,
➢ Displaying date and time,
➢ Displaying pop-up windows and dialog boxes (like an alert dialog box, confirm dialog
box and prompt dialog box),
➢ Displaying clocks etc.

Features of JavaScript
There are following features of JavaScript:
➢ All popular web browsers support JavaScript as they provide built-in execution
environments.
➢ JavaScript follows the syntax and structure of the C programming language. Thus, it
is a structured programming language.
➢ JavaScript is a weakly typed language, where certain types are implicitly cast
(depending on the operation).
➢ JavaScript is an object-oriented programming language that uses prototypes rather
than using classes for inheritance.

30
4.5. Backend

MySQL
MySQL is an open-source relational database management system (RDBMS). Its name is a
combination of “My”, the name of co-founders Michael Widenius' daughter, and "SQL", the
abbreviation for Structured Query Language. The MySQL development project has made its
source code available under the terms of the GNU General Public License, as well as under a
variety of proprietary agreements. MySQL was owned and sponsored by a single for-profit
firm, the Swedish company MySQL AB, now owned by Oracle Corporation.

MySQL is a central component of the LAMP open-source web application software stack
(and other "AMP" stacks). LAMP is an acronym for "Linux, Apache, MySQL, Perl/ PHP/
Python". Applications that use the MySQL database
include: TYPO3, MODx, Joomla, WordPress, phpBB, MyBB, and Drupal. MySQL is also
used in many high-profile, large-scale websites, including Google (though not for
searches), Facebook, Twitter, Flickr, and YouTube.

History

MySQL was created by a Swedish company, MySQL AB, founded by David Axmark, Allan
Larsson and Michael "Monty" Widenius. Original development of MySQL by Widenius and
Axmark began in 1994. The first version of MySQL appeared on 23 May 1995. It was
initially created for personal usage from MySQL based on the low-level language ISAM,
which the creators considered too slow and inflexible. They created a new SQL interface,
while keeping the same API as MySQL. By keeping the API consistent with the MySQL
system, many developers were able to use MySQL instead of the (proprietarily licensed)
MySQL antecedent.

31
Features

MySQL is offered under two different editions: the open source MySQL Community Server
and the proprietary Enterprise Server.[61] 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.

Major features as available in MySQL 5.6:

● A broad subset of ANSI SQL 99, as well as extensions


● Cross-platform support
● Stored procedures, using a procedural language that closely adheres to SQL/PSM[62]
● Triggers
● Cursors
● Updatable views
● Online DDL when using the InnoDB Storage Engine.
● Information schema
● Partitioned tables with pruning of partitions in optimizer
● Shared-nothing clustering through MySQL Cluster
● Multiple storage engines, allowing one to choose the one that is most effective for
each table in the application.
● Native storage engines InnoDB, MyISAM, Merge, Memory (heap), Federated,
Archive, CSV, Blackhole, and NDB Cluster.
● Commit grouping, gathering multiple transactions from multiple connections together
to increase the number of commits per second.

Deployment

MySQL can be built and installed manually from source code, but it is more commonly
installed from a binary package unless special customizations are required. On most Linux
distributions, the package management system can download and install MySQL with
minimal effort, though further configuration is often required to adjust security and
optimization settings.

32
Though MySQL began as a low-end alternative to more powerful proprietary databases, it
has gradually evolved to support higher-scale needs as well. It is still most commonly used in
small to medium scale single-server deployments, either as a component in a LAMP-based
web application or as a standalone database server. Much of MySQL's appeal originates in its
relative simplicity and ease of use, which is enabled by an ecosystem of open source tools
such as phpMyAdmin. In the medium range, MySQL can be scaled by deploying it on more
powerful hardware, such as a multi-processor server with gigabytes of memory.

A typical high-end configuration can include a powerful master database which handles data
write operations and is replicated to multiple slaves that handle all read operations. The
master server continually pushes binlog events to connected slaves so in the event of failure a
slave can be promoted to become the new master, minimizing downtime. Further
improvements in performance can be achieved by caching the results from database queries
in memory using memcached, or breaking down a database into smaller chunks
called shards which can be spread across a number of distributed server clusters

33
5. FEASIBILITY STUDY

A feasibility study is a preliminary investigation of a proposed system to decide


whether the system can run smoothly with the organization realize the benefits that are
expected and to decide will the organization will go for it. It can certainly run smoothly with
any organization and they will get expected benefits. Also the users will enjoy using this
application, make their life easy and save lots of time. The feasibility study can be performed
in three ways such as Operational Feasibility, Technical Feasibility and Economical
Feasibility.

Economic Feasibility

Economic feasibility determines whether there are sufficient benefits in creating to make the
cost acceptable, or is the cost of the system too high. So this signifies cost-benefit analysis an
d savings. On the behalf of the cost-benefit analysis, the proposed system is feasible and is ec
onomical regarding its pre-assumed cost for making a system. We classified the costs of Onli
ne Shopping according to the phase in which they occur. As we know that the system
development costs are usually one-time costs that will not recur after the project has
been completed.
For calculating the Development costs we evaluated certain cost categories.
• Personal Costs
• Computer Usage
• Supply and Equipment’s costs
• Cost of any new computer equipment and software
The project is economically feasible as the only cost involved is having a computer with the
minimum requirements mentioned earlier. For the users to access the application, the only
cost involved will be in getting access to the Internet.

• Technical Feasibility

Technical feasibility determines whether the work for the project can be done with
the existing equipment, software technology and available personnel. Technical

34
feasibility is concerned with specifying equipment and software that will satisfy the user
requirement. This project is feasible on technical remarks also, as the proposed system is
more beneficiary in terms of having a sound proof system with new technical components
installed on the system. The proposed system can run on any machines supporting Windows
and Internet services and works on the best software and hardware that has been used while
designing the system so it would be feasible in all technical terms of feasibility.
To deploy the application, the only technical aspects needed are mentioned below:
Operating Environment Win 2000/XP

Platform .Net Framework & IIS

Database SQL Server 2005

For Users:

Internet Browser

Internet Connection

• Behavioral Feasibility

The application requires no special technical guidance and all the views available

in the application are self explanatory. The users are well guided with warning and failure

messages for all the actions taken.

• Operational Feasibility

Operational feasibility criteria measure the urgency of the problem or the acceptability of a so
lution (selection, acquisition and design phases). We measure operational feasibility
with the use of Unified Modeling Language (UML). The Unified Modeling Language
is a standard language for specifying, visualizing, constructing and documenting the
artifacts of software systems, as well as for business modeling and other non-software system
s. The UML represents a collection of best engineering practices that have proven successful
in the modeling of large and complex systems. The UML is a very important part of developi
ng objects oriented software and the software development process.

35
• Information Sources
To find out the information about our project is called Information gathering .It is an art and
science. The approach and manner in which the information is gathered required person with
sensitivity, common sense and knowledge of what and when to gather and what channels to
use to secure the information. The methodology and tools for information gathering required
training and the experience that the analyst is expected to have.
This means thatinformation gathering is neither easy nor routine. Much preparation,
experience and training is required. The phases for information gathering while system
analysis are:
Familiarity with the present system through the available information such as procedure
manuals, documents and their flow, interviews with staff and on side observation.
Definition of the decision-making is associated with managing the system.
Conducting interviews clarifies the decision point and how decisions are made in user area.
Once decision points are defined, a series of interviews conducted define the information
requirements of user. The information is analyzed and document.

36
DESIGN

6.1. Data Flow Diagrams

37
Add New Product

Edit Category

38
Add Product to cart

Change Password

39
6.2. ER Diagram

40
6.3. Database Schema

1. Admin Registration

admin

Email Varchar(50) PK(Primary Key)

Password Varchar(50)

Type Varchar(50)

Mobile Varchar(50)

OTP Int(10)

2. Category

Category

catid int(11) Pk

catName varchar(200)

catDescp text

Supercat Varchar(200)

3. Sub-category

Subcategory

subid int(11) PK

subname varchar(200)

subDescription text

catid int(11) FK to category

41
4. Product

Product

pid int(11) PK

productname varchar(200)

productprice int(11)

productstock int(11)

productdiscount int(11)

productdesc text

productimage text

subid int(11) FK to subcategory

5. Product Photos

productphoto

id Int(11) PK

photo Varchar(500)

description Varchar(100)

productid Int(11) FK to product

42
6. Bill

bill

billID int(11) PK

datatime datetime

grandtotal decimal(10,0)

payment_method varchar(100)

city varchar(200)

zipcode varchar(6)

address text

remarks text

email varchar(200) FK to client

status varchar(100)

personrecieved varchar(100)

trackid int(11)

companyname varchar(300)

cancelledremarks text

7. Bill Detail

billdetail

billdetailid int(11) PK

price float(10,2)

quantity int(11)

productid int(11) FK to product

billid int(11) FK to bill

43
8. Client Registration

Clientregistration

email varchar(100) PK

password varchar(100)

fullname varchar(100)

mobile int(15)

9. Cart

bill

cartid int(11) PK

email Varchar(100) FK to user

proid int(11) FK to products

quantity varchar(10)

status Int(11)

size varchar(50)

44
7. SCREENSHOTS
7.1. User End
• Home Page- Navbar and carousel

• Home Page- Products

45
• Home Page- Dropdown showing Men’s categories

• Home Page- Dropdown showing Women’s categories

• Home Page- Dropdown showing Kids categories

46
• Home Page- Footer

• User Login and Registration

47
• About Us

• Contact Us

48
• View Product

49
• View Cart

• Checkout

50
• User Account

• User Change Password

51
7.2. Admin End
• Admin Login

• Admin Home

52
• View/Manage Admin

• Admin Registration

53
• Add Category

• View Category

54
• Add Sub-Category

• View Sub-Category

55
• Add Product

• Add Product Photo

56
• View/Manage Products

57
8. TESTING

Testing is the process of evaluating a system or its component(s) with the intent to find
whether it satisfies the specified requirements or not. In simple words, testing is executing a
system in order to identify any gaps, errors, or missing requirements in contrary to the actual
requirements.

Testing Activities

• Project Initiation: Testing Targets were set during this phase. From the point of view of
testing the main tasks were to organize the approach towards testing. As we had not used
tools for testing application was deployed on server and every possible scenario working
was looked for manually so as to look for every possible effect.

• Development team Testing: In this strategy testing was done by us only for all the
targets for the test cases defined later in this chapter.

• End-of-lifecycle Testing: As part of end of lifecycle testing the application was given to
peers to test for all the test cases decided.

LEVELS OF TESTING

Unit Testing
• Methodology Used
Unit testing is carried out by the developer in the developer environment only. Manual testing
was done. The developers reviewed code to check whether our respective units under tests
behave as expected.
• Tools Used
Not Applicable. Manual testing was done.

58
Integration Testing
• Methodology Used
For use integration test bottom up approach was used where the lowest level components
were tested first, and then used to facilitate the testing of higher level components. The
process was repeated until the component at the top of the hierarchy is tested.
• Tools Used
Not Applicable. Manual testing was done.

System Testing
Functional Testing
• Methodology Used
Under this the whole system is tested by our development team. Basically all functionalities
as per requirements were tested here.
• Tools Used
Not applicable. Manual testing was done.

Non Functional Testing


• Methodology Used
Under this the whole system is tested under the development team. Basically all
functionalities as per requirements are tested here.
• Tools Used
Not Applicable. Manual testing is done.

METHODS OF TESTING

Black-Box Testing

The technique of testing without having any knowledge of the interior workings of the
application is called black-box testing. The tester is oblivious to the system architecture and
does not have access to the source code. Typically, while performing a black-box test, a tester
will interact with the system's user interface by providing inputs and examining outputs
without knowing how and where the inputs are worked upon.

59
The following lists the advantages and disadvantages of black-box testing:

Advantages:

• Well suited and efficient for large code segments.

• Code access is not required.

• Clearly separates user's perspective from the developer's perspective through visibly
defined roles.

• Large numbers of moderately skilled testers can test the application with no
knowledge of implementation, programming language, or operating systems.

Disadvantages:

• Limited coverage, since only a selected number of test scenarios is actually


performed.

• Inefficient testing, due to the fact that the tester only has limited knowledge about an
application.

• Blind coverage, since the tester cannot target specific code segments or error-prone
areas.

• The test cases are difficult to design.

White-Box Testing

White-box testing is the detailed investigation of internal logic and structure of the code.
White-box testing is also called glass testing or open-box testing. In order to perform white-
box testing on an application, a tester needs to know the internal workings of the code.

The tester needs to have a look inside the source code and find out which unit/chunk of the
code is behaving inappropriately.

The following lists the advantages and disadvantages of white-box testing.

Advantages:

• As the tester has knowledge of the source code, it becomes very easy to find out
which type of data can help in testing the application effectively.

• It helps in optimizing the code.

60
• Extra lines of code can be removed which can bring in hidden defects.

• Due to the tester's knowledge about the code, maximum coverage is attained during
test scenario writing.

Disadvantages:

• Due to the fact that a skilled tester is needed to perform white-box testing, the costs
are increased.

• Sometimes it is impossible to look into every nook and corner to find out hidden
errors that may create problems, as many paths will go untested.

• It is difficult to maintain white-box testing, as it requires specialized tools like code


analyzers and debugging tools.

61
9. CONCLUSION

E-commerce is fast gaining ground as an accepted and used business paradigm. More and
more business houses are implementing web sites providing functionality for performing
commercial transactions over the web. It is reasonable to say that the process of shopping on
the web is becoming commonplace. The objective of this project is to develop a general
purpose e-commerce store where product like clothes can be bought from the comfort of
home through the Internet. E-commerce technology, allows customers to learn more and
more consumers, more efficient use of the information. Online businesses can use this
information to develop new information asymmetry, enhance their brand products, to charge
higher prices, quality service and market segmentation of many groups, each of the different
prices

Using python and Django we are making a website so that people can enjoy the various
advantages that come with shopping online such as convenience, more variety, best deals,
price comparisons, no crowd and so much more.

Shopping online doesn’t only make everything easy but it also saves time. We have made a
website that will help users not only browse and find something they like but also have
various options from which they can decide to make their purchase.

62
10.BIBLIOGRAPHY

• A Byte of Python by C.H. Swaroop


• Python study notes by VMM
• www.w3schools.com
• https://www.tutorialspoint.com/javascript/javascript_overview

63

You might also like