Professional Documents
Culture Documents
On
Submitted in the Partial fulfilment of the requirement for the Award of Degree of
Bachelors of Technology
In
Batch
(2016-2020)
B.Tech (CSE)
2016CSA1201
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.
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.
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 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.
4
INTERNSHIP CONFIRMATION
5
TABLE OF CONTENTS
1. Organisation Profile……………………………………………………7-8
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.
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.
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.
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:
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.
1. Requirements specification
2. Feasibility Study
11
3. Design & Coding
5. Implementation
6. Maintenance
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
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
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.
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.
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.
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
Post Development
17
Software Requirements
During Development
Post Development
• Server
a. Django server
b. MySQL
c. Python 3.8 interpreter
• Client
a. Browser: Chrome, Firefox and Edge
18
4.4. Front End
Introduction to Python
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.
• 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.
• 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.
• 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 provides very high-level dynamic data types and supports dynamic type checking.
• 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
• Framework Support − Django has built-in support for Ajax, RSS, Caching and
various other frameworks.
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.
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:
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.
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 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.
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 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.
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
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
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
• 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
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
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
41
4. Product
Product
pid int(11) PK
productname varchar(200)
productprice int(11)
productstock int(11)
productdiscount int(11)
productdesc text
productimage text
5. Product Photos
productphoto
id Int(11) PK
photo Varchar(500)
description Varchar(100)
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
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)
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
quantity varchar(10)
status Int(11)
size varchar(50)
44
7. SCREENSHOTS
7.1. User End
• Home Page- Navbar and carousel
45
• Home Page- Dropdown showing Men’s categories
46
• Home Page- Footer
47
• About Us
• Contact Us
48
• View Product
49
• View Cart
• Checkout
50
• User Account
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
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.
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:
• 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:
• 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.
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.
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.
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.
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
63