Professional Documents
Culture Documents
INTRODUCTION
1.1 BACKGROUND AND SIGNIFICANCE:
With the growth of the Internet and Internet-based devices, most of the
people are fond of things available over the internet. Facebook and online media
have grown their popularity in Nepal very much these days. Online shopping sites
or online stores are also one of the popular things in the internet world now. Find
the list of best online shopping sites below.
Online shopping has become very popular among the people living in the
major cities of Nepal. It has become popular mainly because of convenience and
ease to shop from their home or office. One of the most appealing factors about
online shopping is that it alleviates the need to wait in long lines or search from
store to store for a particular item. We see many young people are attracted to
online stores, as we can view the price, compare between two or more sites and
buy the product. As per the experience, based on the availability of product,
quality of product and timely delivery with easy payment options, I have chosen
the best 5 online shopping stores in Nepal which are as follows in descending
order. .
Nepbay.com
Muncha.com
Muncha.com.np is the online version of the departmental store “Muncha
House”. They have a very early history. Muncha started its service in
2000. Muncha.com.np is a digital shopping mall and gift site where you
can find a wide variety of products to meet your needs.
1
Sastodeal.com
Sasto Deal is one of Nepal’s biggest online shopping website. Sastodeal
deliveries are mostly free inside Kathmandu valley and a small surcharge
is added for orders outside the valley.
Hamrobazar.com
Hamrobazar.com is an online classified which enables individuals as well
as companies to list the wide variety of new or used product online. It is
one of the most used shopping sites in Nepal as it provides the platform for
the individual to sell their own products.
Daraz.com.np
Formerly Kaymu is fastest growing online marketplace operating in South
Asian countries Pakistan, Bangladesh, Myanmar, Sri Lanka, and Nepal. A
wide variety of products are available in Daraz.
2
1.2 SCOPE AND OBJECTIVES OF THE PROJECT:
This product has great future scope. Online shopping internet software
developed on and for the windows and later versions environments and Linux OS.
This project also provides security with the use of Login-id and Password, so that
any unauthorized users can not use your account. The only Authorized that will
have proper access authority can access the software.
The main theme of this software is to make the task simpler and completed
the work within limited time with least manpower.
The consumer register with their details and get authentication for an
authorize login.
Consumers are provided with up to date information on the products
available by categories.
Using shopping cart, see the item selected appears in the shopping.
It provides hand cash on delivery only.
After buying and making payment the product are send to consumers
address that he has given.
3
1.3 PROBLEM IN EXISTING SYSTEM
Lack of visitors to the site – when people don’t know about you a lack of
visitors to your online business is either about people not knowing your
site exists, or being unable to find it. Both these problems can be tackled
by good use of Search Engine Optimization (SEO). For this you need good
content, which is not just about stuffing your site with keywords.
Paid advertising is another method for getting people to your site. Google
can be expensive for advertising (the more popular the keyword, the more
it costs) but using less in-demand keywords will cost far less.
Since the system currently relies on database stored on the web server
there is no backup system for application whenever server goes down.
It provides high level of security using different protocol like https etc.
4
CHAPTER 2
PROJECT ANALYSIS
2.1 METHODOLOGY
In BCA project we have used agile methodology for the development of
Online shopping system site that incorporate the innovative and dynamic nature of
the web. Agile web development is a development model for web applications
that follow the same concept as the agile methodologies. This approach is more
efficient and powerful to ensure every piece of functionality is delivered early in
the development stage and improves throughout the life of the web application.
Tasks are broken down into smaller increments that make it more
adaptable to some changes;
2.2 DURATION
5
The time taken by this project is about one month. At first we have
developed a sample website taking help from other E-commerce site and we have
added modules. Later on we feel the essence of other features and added on it.
2.3 ACTIVITIES
Several activities can be combined to form a summary activity. The
duration of an activity is determined by the effort it takes to complete each of its
designated tasks. We have designed and developed the project dividing it into
various modules. Some of us designed front end and some of us code for
back end. We had regular discussion with our supervisor and the team member for
the analysis of requirement. We have made time schedules for the project
development to complete project on time.
6
calculate an approximate time frame to receive returns against investment keeping
in mind the future value of the project. During the process of economic feasibility
study we follow certain best practices to get the desired result.
7
management support the project? Have the users been involved in the planning
and development of the project? Will the proposed system really benefit the
organization? Does the overall response increase? Will accessibility of
information be lost? Will the system affect the customers in considerable way?
2.5.3 DESIGN
8
System design is the process of designing the elements of a system such as
the architecture, modules and components, the different interfaces of those
components and the data that goes through that system. System Analysis is the
process that decomposes a system into its component pieces for the purpose of
defining how well those components interact to accomplish the set requirements.
The purpose of the System Design process is to provide sufficient detailed data
and information about the system and its system elements to enable the
implementation consistent with architectural entities as defined in models and
views of the system architecture.
2.5.4 IMPLEMENTATION
2.5.5 TESTING
9
example, in the Waterfall model, testing starts from the testing phase which is
quite below in the tree,; but in the V-model, testing is performed parallel to the
development phase. When to stop test activities: An application can never be
100% bug-free.
10
2.6.1 NUMBERS OF MODULES
The number of modules used in the project is analyzed and presented as:
Dashboard
Add Brand
Edit Brand
Delete Brand
Add Category
Edit Category
Delete Category
Add Products Attributes
Edit Products information
Delete Product information
Add menu
Delete menu
Home page manage
Consumer panel
Add to cart
Product option
Product review
Consumer signup and login
Product filter
Product order
Product order replace and view
Consumer profile
11
Consumer info change
Hardware Requirements:
Software Requirements:
Internet Explorer.
Google Chrome.
Mozilla Firefox.
Safari.
Opera.
Apache MySQL
VS code
Xampp
Inputs:
o Admin enters his or her user id and password.
o Admin/ User enter login information.
o User selects the products.
12
o User requests the search for specific product.
o System updates the records and events.
Outputs:
13
give evidence to prove his identity to the system. The process of determining
claimed user identity by checking user-provided evidence is called authentication
and the evidence which is provided by the user during process of authentication is
called a credential.
CHAPTER 3
3.1 INTRODUCTION
A software requirements specification (SRS) is a detailed description of a
software system to be developed with its functional and non-functional
requirements. The SRS is developed based the agreement between customer and
contractors. It may include the use cases of how user is going to interact with
software system. The software requirement specification document consistent of
all necessary requirements required for project development. To develop the
software system we should have clear understanding of Software system. To
achieve this we need to continuous communication with customers to gather all
requirements.
A good SRS defines the how Software System will interact with all
internal modules, hardware, communication with other programs and human user
interactions with wide range of real life scenarios. Using the Software
requirements specification (SRS) document on QA lead, managers creates test
plan. It is very important that testers must be cleared with every detail specified in
this document in order to avoid faults in test cases and its expected results.
14
Upload and update details of products.
Product order can be visible.
Produce invoice, sells reports and overall reports.
Generates order slip for costumer.
Allow Feedback and comment for the product.
User interfaces are the access points where users interact with designs.
Graphical user interfaces (GUIs) are designs’ control panels and faces, voice-
controlled interfaces involve oral-auditory interaction, while gesture-based
interfaces witness users engaging with 3D design spaces via bodily motions. One
thing that we can’t stress enough is the navigation menu. Don’t make things
impossible to get to. Every part of your page should be clearly labeled on the
navigation menu and placed strategically for the users. Don’t change things up
and make your menu hard to find. It will only push people away. Data Entry
component and filtering options require in good websites. For example:
o Application design
o Search box
o Categories list
o Sort options.
3.2.1 EFFICIENCY
15
Performance Efficiency affects customer satisfaction, workforce
productivity, application scalability, response-time degradation, and inefficient
use of processing or storage resources. The Performance Efficiency of an
application lies in each individual component‘s performance, as well as in the
effect of each component on the behavior of the chain of components comprising
a transaction in which it participates.
The system must be interactive and the delays involved must be less .So in
every action-response of the system, there are no immediate delays. In case of
opening windows forms, of popping error messages and saving the settings or
sessions there is delay much below 2 seconds, In case of opening databases,
sorting questions and evaluation there are no delays and the operation is
performed in less than 2 seconds for opening ,sorting, computing, posting > 95%
of the files. Also when connecting to the server the delay is based editing on the
distance of the 2 systems and the configuration between them so there is high
probability that there will be or not a successful connection in less than 20 seconds
for sake of good communication.
Such requirements usually describes about the inputs which are expected
with respect to system. It also describes the outputs of the system. So generally it
given the information about inputs and outputs relationships. This actually tells
how the system will react or behave or do the function when a certain input will
be given to it.
16
3.4.5 TESTING REQUIREMENT
17
CHAPTER 4
SELECTED SOFTWARE
Slim is a PHP micro framework that helps you quickly write simple yet
powerful web applications and APIs. At its core, Slim is a dispatcher that receives
an HTTP request, invokes an appropriate callback routine, and returns an HTTP
response. That’s it. Slim was created to make it easier for developers to get started
on PHP projects.MVC is an acronym for ‘Model View Controller’. It represents
architecture developers adopt when building applications. With the MVC
architecture, we look at the application structure with regards to how the data flow
of our application works.
18
o Secure Cookies
Slim uses AES-256 to encrypt cookies; this sinfully improves the
security of your application and makes it harder for hackers to forge your
cookies.
o Libraries & Modular
The pre-installed object-oriented libraries and many other libraries
also add value to this framework. The most popular one is an
authentication library with loads of updated and useful feature like
password reset, monitoring active users, CSRF protection and much more.
o Logging
Lets you define a custom error handler that is involved when things
go wrong. The debug option lets your app decide whether to display the
exception/error info or invoke a custom error handler when things go
wrong
19
4.1.1 ARCHITECTURE OF MVC FRAMEWORK
MVC stands for Model, View and Controller. MVC separates application into
three components - Model, View and Controller.
Model: Model represents shape of the data and business logic. It maintains the
data of the application. Model objects retrieve and store model state in a database.
View: View is a user interface. View display data using model to the user and also
enables them to modify the data.
Controller: Controller handles the user request. Typically, user interact with
View, which in-turn raises appropriate URL request, this request will be handled
20
by a controller. The controller renders the appropriate view with the model data as
a response.
Currently Slim supports four database systems: MySQL, Postgres, SQLite, and
SQL Server.
Sometimes we may wish to use one database connection for SELECT statements,
and another for INSERT, UPDATE, and DELETE statements. Slim makes this a
breeze, and the proper connections will always be used whether you are using raw
queries, the query builder, or the Eloquent ORM.
21
Fig: Read/Write connection
Note that two keys have been added to the configuration array: read and write.
Both of these keys have array values containing a single key: host. The rest of the
database options for the read and write connections will be merged from the main
mysql array. So, we only need to place items in the read and write arrays if we
wish to override the values in the main array. So, in this case, 192.168.1.1 will be
used as the "read" connection, while 192.168.1.2 will be used as the "write"
connection. The database credentials, prefix, character set, and all other options in
the main mysql array will be shared across both connections.
22
Fig: Running Queries
4.2 PHP
PHP started out as a small open source project that evolved as more and more
people found out how useful it was. Rasmus Lerdorf unleashed the first version of
PHP way back in 1994. PHP is a recursive acronym for "PHP: Hypertext
Preprocessor".
23
o PHP is a server side scripting language that is embedded in HTML. It is
used to manage dynamic content, databases, session tracking, even build
entire e-commerce sites.
o It is integrated with a number of popular databases, including MySQL,
PostgreSQL, Oracle, Sybase, Informix, and Microsoft SQL Server.
o PHP performs system functions, i.e. from files on a system it can create,
open, read, write, and close them.
o PHP can handle forms, i.e. gather data from files, save data to a file,
through email you can send data, return data to the user.
o You add, delete, and modify elements within your database through PHP.
o Access cookies variables and set cookies..
24
o HTML elements are represented by tags.
o HTML tags label pieces of content such as "heading", "paragraph",
"table", and so on.
o Browsers do not display the HTML tags, but use them to render the
content of the page.
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
</head>
<body>
</body>
</html>
CSS handles the look and feel part of a web page. Using CSS, you can control
the color of the text, the style of fonts, the spacing between paragraphs, how
columns are sized and laid out, what background images or colors are used,
layout designs, and variations in display for different devices and screen sizes as
well as a variety of other effects.
CSS is easy to learn and understand but it provides powerful control over the
presentation of an HTML document. Most commonly, CSS is combined with the
markup languages HTML or XHTML.
Basic of CSS :
25
body {
font: normal 100% "trebuchet ms", Arial, Helvetica, sans-serif;
}
a{
color: #000000;
}
A:visited {
color: #005177;
}
a:hover {
color: #005177;
}
$(document).ready(function(){
$("button").click(function(){
$("p").hide();
});
});
26
Syntax:
$.ajax({
url: "/api/getWeather",
data: {
zipcode: 97201
},
});
4.4.1 DATABASE
27
data pertaining to people, phone numbers, other contact details, etc. Your
electricity service provider is obviously using a database to manage billing, client
related issues, to handle fault data, etc. Let's also consider the facebook. It needs
to store, manipulate and present data related to members, their friends, member
activities, messages, advertisements and lot more.
4.4.2 SQL
Almost all individuals deal with primary keys frequently but unknowingly in
everyday life. For example, students are routinely assigned unique identification
(ID) numbers, and all U.S. citizens have government-assigned and uniquely
identifiable Social Security numbers. To uniquely identify customers, a column or
combination of columns is selected to guarantee that two customers never have
28
the same unique value. Thus, certain columns are immediately eliminated, e.g.,
surname and date of birth. A good primary key candidate is the column that is
designated to hold Social Security numbers. However, some account holders may
not have Social Security numbers, so this column’s candidacy is eliminated. The
next logical option is to use a combination of columns, such as adding the
surname to the date of birth to the email address, resulting in a long and
cumbersome primary key.
29
Database systems are made-up of complex data structures. To ease the user
interaction with database, the developers hide internal irrelevant details from
users. This process of hiding irrelevant details from user is called data abstraction.
Physical level: This is the lowest level of data abstraction. It describes how data is
actually stored in database. You can get the complex data structure details at this
level.
Logical level: This is the middle level of 3-level data abstraction architecture. It
describes what data is stored in database.
View level: Highest level of data abstraction. This level describes the user
interaction with database system.
Sharing of Data
In a database, the users of the database can share the data among
themselves. There are various levels of authorization to access the data, and
consequently the data can only be shared based on the correct authorization
protocols being followed.
Data Integrity
30
Data integrity means that the data is accurate and consistent in the
database. Data Integrity is very important as there are multiple databases in a
DBMS. All of these databases contain data that is visible to multiple users. So it is
necessary to ensure that the data is correct and consistent in all the databases and
for all the users.
Data Security
Data Security is vital concept in a database. Only authoriz ed users should be
allowed to access the database and their identity should be authenticated using a
username and password. Unauthorized users should not be allowed to access the
database under any circumstances as it violates the integrity constraints.
Privacy
The privacy rule in a database means only the authorized users can access
a database according to its privacy constraints. There are levels of database access
and a user can only view the data he is allowed to. For example - In social
networking sites, access constraints are different for different accounts a user may
want to access.
Backup and Recovery
Database Management System automatically takes care of backup and
recovery. The users don't need to backup data periodically because this is taken
care of by the DBMS. Moreover, it also restores the database after a crash or
system failure to its previous condition.
Data Consistency
Data consistency is ensured in a database because there is no data
redundancy. All data appears consistently across the database and the data is same
for all the users viewing the database. Moreover, any changes made to the
database are immediately reflected to all the users and there is no data
inconsistency.
Increased costs
31
One of the disadvantages of DBMS is Database systems require
sophisticated hardware and software and highly skilled personnel. The cost of
maintaining the hardware, software, and personnel required to operate and manage
a database system can be substantial. Training, licensing, and regulation
compliance costs are often overlooked when database systems are implemented.
Management complexity
Maintaining currency
To maximize the efficiency of the database system, you must keep your
system current. Therefore, you must perform frequent updates and apply the latest
patches and security measures to all components.
CHAPTER 5
32
PROJECT DESIGN
• They identify the potential failure modes, failure sites, and failure
mechanisms.
• They verify the reliability of the system under the expected life-cycle
conditions.
33
• They demonstrate that all manufacturing and assembly processes are
capable of producing the system within the statistical process window required by
the design. Because variability in material properties and manufacturing processes
will affect a system’s reliability, characteristics of the process must be identified,
measured, and monitored.
• They manage the life-cycle usage of the system using closed loop, root-
cause monitoring procedures.
5.1.2 MAINTANENCE
The design of output is the most important task of any system. During
output design, developers identify the type of outputs needed, and consider the
necessary output controls and prototype report layouts.
34
To develop output design that serves the intended purpose and eliminates
the production of unwanted output.
To develop the output design that meets the end users requirements.
To deliver the appropriate quantity of output.
To form the output in appropriate format and direct it to the right person.
To make the output available on time for making good decisions.
A document
A message
Retrieval from data store.
Directly from output source.
Transmission from a process or system activity.
35
In an information system, input is the raw data that is processed to produce
output. During the input design, the developers must consider the input devices
such as PC, MICR, OMR, etc. Therefore, the quality of system input determines
the quality of system output. Well-designed input forms and screens have
following properties:
Data recording
Data transcription
Data conversion
Data verification
Data control
Data transmission
Data validation
Data correction
36
External Input
Internal Input
Operational Input
Interactive Input
Design layout is the organization of text and images on a web page, poster,
book or two-dimensional page. Web designers and graphic designers apply
graphic design principles and typography to organize, or lay out, the contents of a
page. Composing a design layout also helps organize the text and images into a
easily understood hierarchy of information.
5.5 NORMALIZATION
37
First Normal Form:
To be in second normal form, a relation must be in first normal form and relation
must not contain any partial dependency. A relation is in 2NF iff it has No Partial
Dependency, i.e., no non-prime attribute (attributes which are not part of any
candidate key) is dependent on any proper subset of any candidate key of the
table.
A relation is in 3NF if at least one of the following condition holds in every non-
trivial function dependency X –> Y
38
By its nature, a transitive dependency requires three or more attributes (or
database columns) that have a functional dependency between them, meaning that
Column A in a table relies on Column B through an intermediate Column C.
Entities
Relationships
Attributes
39
Fig:-ER Diagram
40
A picture is worth a thousand words. A Data Flow Diagram (DFD) is
traditional visual representation of the information flows within a system. A neat
and clear DFD can depict a good amount of the system requirements graphically.
It can be manual, automated, or combination of both.
It shows how information enters and leaves the system, what changes the
information and where information is stored. The purpose of a DFD is to show the
scope and boundaries of a system as a whole. It may be used as a communications
tool between a systems analyst and any person who plays a part in the system that
acts as the starting point for redesigning a system.
Fig:-Context Diagram
41
Fig: - Data Flow Diagram for admin
42
CHAPTER 6
SCREENSHOTS
Fig:-Product brands
43
Fig:-Products
Fig:-Category list
44
Fig:-Login & Register
45
Fig:- Admin login
Fig:-Dashboard
46
CHAPTER 7
PROJECT TESTING
This method is named so because the software program, in the eyes of the tester,
is like a black box; inside which one cannot see. This method attempts to find
errors in the following categories:
White box testing (also known as Clear Box Testing, Open Box Testing, Glass
Box Testing, Transparent Box Testing, Code-Based Testing or Structural Testing)
is a software testing method in which the internal structure/design/implementation
of the item being tested is known to the tester. The tester chooses inputs to
47
exercise paths through the code and determines the appropriate outputs.
Programming know-how and the implementation knowledge is essential. White
box testing is testing beyond the user interface and into the nitty-gritty of a
system.
This method is named so because the software program, in the eyes of the tester,
is like a white/transparent box; inside which one clearly sees.
Unit Testing:
The developer carries out unit testing in order to check if the particular
module or unit of code is working fine. The Unit Testing comes at the very basic
level as it is carried out as and when the unit of the code is developed or a
particular functionality is built.
Static analysis involves going through the code in order to find out any
possible defect in the code. Dynamic analysis involves executing the code and
analyzing the output.
Statement Coverage:
In this type of testing the code is executed in such a manner that every
statement of the application is executed at least once. It helps in assuring that all
the statements execute without any side effect.
Branch Coverage:
48
code and making sure that no branching leads to abnormal behavior of the
application.
Security Testing:
Security Testing is carried out in order to find out how well the system can
protect itself from unauthorized access, hacking – cracking, any code damage etc.
which deals with the code of application. This type of testing needs sophisticated
testing techniques.
Mutation Testing:
A kind of testing in which, the application is tested for the code that was
modified after fixing a particular bug/defect. It also helps in finding out which
code and which strategy of coding can help in developing the functionality
effectively.
The other advantage of white box testing is that it helps in optimizing the
code
It helps in removing the extra lines of code, which can bring in hidden
defects.
49
BIBLOGRAPHY
50