Professional Documents
Culture Documents
Kishor Bahttarai CP
Kishor Bahttarai CP
Acknowledgement:
Following project on E-shop is done for the completion of 2nd year course of BIT. I would like
to thank to every single indivisual for helping me complete this research through this letter.
This is a good opportunity to express my gratitude towards my fellow individuals for giving me
a direction to complete the project.
I express my respect towards NCC Education for letting me this chance to research in this
paaticular field, to complete my Bachelor in IT course. Firstly, my grateful thanks goes to
Softwarica College of IT and E-Commerce for enrolling me in this curriculum. In addition to
that, I owe a huge respect and thankfulness to Mr. Sudeep Lal Bajimaya for his mentor-ship
and his sincere guidance during the process of this research.
I would like to show my gratitude to Mr. Pramod Poudel(Campus chief of Softwarica
College of IT and E-Commerce) along with Mr. Sudeep Lal Bajimaya( My course tutor) for
having me as a student and encouraging me for this project.
At last, I would like to express my gratitude to every individuals who have contributed to this
project including my mentor (Mr.Sudeep Lal Bajimaya), (Mr. Pramod Poudel) who have
supported me for the completion of the project.
Thank you.
Kishor Bhattarai
Softwarica College of IT and E- commerce
Abstract:
E-Shop is a web application which helps users to surf the web for the different kinds of
products available in the shop. Today is the time of digitization, E-shop plays a additional role
to contibute to the digital world. Nowadays, people are living a cozy life where they want
every thing on their doorsteps, E-shop helps people to buy products online which is delivered
by the staffs of E-shop. User can choose the products based on their preference, category
and brand. E-shop is a digital platform for the supermarket. User can add list of items to the
cart and continue their shopping. Further description of the project will be described
following..
For the completion of the project I have used different Programming skills like PHP, CSS,
HTML, JAVASCRIPT, MYSQL and interfaces like XAMPP, NOTEPAD etc.
Following are the keywords to be found in the documentation.
XAMPP, HTML, CSS, PHP, ORACLE, DFD, SSADM, MYSQL
Introduction
E-shop (Elite Shop) is a mart established in 2017 A.D with government authorization to
legally run through the area. In its starting phase, it was established with a less number of
products and few brands. Looking at its scope now, it is now reachable to large number of
people. This project is conducted to overcome the physical boundary of the mart, where
people have to visit store in order to buy their products.
Chapter 1
1.1 Project Introduction
E-shop is mart with good amount of products which people can filter through, currently it is
growing its business strategies. There are 7 staffs twenty four seven to accept the order and
provide best service to the people. This web based system offers customer to buy products
sitting at home. For shopping, customer has to register and choose their desired products and
add them to cart. After that, customer has to add the shipping address where the product
should be delivered and that’s all, the shopping is done. The ordered product will arrive at the
doorstep for the following customer. Since, old style shopping, one where we should go at the
physical store is more time unefficient E-Shop has done its best to mitigate that problem.
Chapter 2 : Analysis
2.1 Introduction:
Analysis is the process for formulating information by breaking the core information into
several parts. It may include many approach with breaking and brainstorming the ideas.
Analysis defines the output. If the analysis is done properly, the risk of project failure is
minimum. It covers the initial phase of the project. Below are the analysis for E-shop
presented into discrete form:
Group Discussion: due to our tight schedule I preferred group discussion over one on one
interview. During a project timing is a core factor. The general outcome of the one on one
interview can be predicted through group discussion. This technique gives me the overall idea
on how people are not satisfied with the current system. This helps in developing the
functionality of the system.
Documentation Analysis: Current documentation on the system helps to determine a core
value and other requirements of the system more efficiently. Analyzing the system from the
pre existed documentation makes the process easier and gives fact about the system.
Legal Feasibility: This study mainly focuses on the overall system and its legal acceptance
by the government. Government has a set of rules for a system to be public, if the system
outlaws the rule, the system is considered to be failure. This study may vary from one country
to another.
The above diagram is DFD for customer. As in the figure user fills the registration form, then
the data is checked for validation, if the data isnt valid the message will appear and user
should re fill the registration form, if the data is valid, the data is transferred to the database
and stored. The stored data is passed to the registration form and hence the registration
complete message is appeared and the user can now login into the system. Once the user is
registered, he/she can login into the system and order their desired products. Once they click
the products there will be the option for buying, if the user clicks on buy the product is
transferred into the cart. To complete the ordering user must check out with the shipping
address. Once the user completes the check out, the order is transferred into the admin.
The above figure is DFD for admin. For admin access the user must request the login panel
by entering the URL. Once the login appears, the admin must enter the email and password.
After that, the dashboard is opened. In the dashboard there will be CRUD for products, Brand
and category and there will be a panel for order management. For the products, Brand and
the category admin can perform all the CRUD functionality. And for the management of order,
admin can first view the order list from different customers. Then admin can accept the
pending orders, in addition to that admin can view individual order by selecting one. The
admin can also download the invoice for the order by clicking the download button.
2.4.3 Hard approach to information System Analysis
I preferend hard approach to the information System Analysis over Soft approach. The reason
for choosing hard approach to system analysis are listed below:
2.6 Use-Case:
For identifying and analyzing the system we use use case diagram. Use case is a graphical
representation of interaction between the system components and the components consists
of four different elements which are listed below:
Use cases: Use case defines the actions or task done by the Actor of the system. They are
represented through ovals.
Actor: Actors are the one who interact with the system. They might be human or a different
system who get involve in the system to feed the necessary data to the system. They are
generally represented by a stick figure.
Relationship: Relation in use case are the bridge factor between Actor and the use cases.
They define the relation between the actor and their use-case. They are represented through
lines.
System Boundary: It is the certain frame where the system operates. The workflow of the
system are inside the system boundary.
Use case for Customer-1.
2.7 Prioritization:
Prioritization basically means setting the most used and least used functionality of the system
in an order. The functionality of the system are not distributed evenly, some of them are used
in many case and some are least used. Putting them ni hierarchical order makes us easier to
understand the system. For the prioritization, MoSCoW prioritization is used. Must Have,
Should Have, Could Have, Wont have terms are used in this prioritization.
Must have: The requirement which should be strictly followed comes under must have.
Should have: The requirement that are important to the system but can be accommodated
comes unde Should have.
Could have: The requirement which we want but isn’t really necessary to the system comes
under Could have.
Won’t have: The requirement which aren’t included in the system comes under Won’t have.
3. Design:
Design is the process in which all the gathered information on requirements are tranfored into
a understandable form to implement code for the live system. Design helps the developer to
understand the requirements for coding. Design can be categorized into different forms. All
the information form the design are hand over to the developer. I have mentioned the
importance of the design below:
The reason for using the class diagram in the system are listed below:
It contains operations and attributes of the system.
The above rich picture is for the E-shop, where user can view and order products by entering
the shipping details. Admin can add, update and delete desired Products, Brands and
Categories. In addition to that, admin can also manage order and print the invoice of the
order.
Reason for using the Rich Picture are given below:
it gives basic knowledge of the system
The above figure is activity diagram for the admin of the system. For admin access the user
must request the login panel by entering the url. Once the login appears, the admin must
enter the email and password. After that, the dashboard is opened. In the dashboard there will
be CRUD for products, Brand and category and there will be a panel for order management.
For the products, Brand and the category admin can perform all the CRUD functionality. And
for the management of order, admin can first view the order list from different customers.
Then admin can accept the pending orders, in addition to that admin can view individual order
by selecting one. The admin can also download the invoice for the order by clicking the
download button.
The above figure is activity diagram of the user in the system. As in the figure user fills the
registration form, then the data is checked for validation, if the data isnt valid the message will
appear and user should re fill the registration form, if the data is valid, the data is transferred
to the database and stored. The stored data is passed to the registration form and hence the
registration complete message is appeared and the user can now login into the system. Once
the user is registered, he/she can login into the system and order their desired products.
Once they click the products there will be the option for buying, if the user clicks on buy the
product is transferred into the cart. To complete the ordering user must check out with the
shipping address. Once the user completes the check out, the order is transferred into the
admin.
The above figure is the sequence diagram for registration process. In the above diagram,
user fills the registration form, then the data is checked for validation, if the data isnt valid the
message will appear and user should re fill the registration form, if the data is valid, the data is
transferred to the database and stored. The stored data is passed to the registration form and
hence the registration complete message is appeared and the user can now login into the
system.
The above sequence diagram is for logging in to the system. For this, user must already be
registered into the system. For logging in user requests login form by clicking on login form.
Then the user enters the login data. Once the data is entered system checks the data from
the database and processes the data, if the data is invalid, the login will not be completed and
error message is shown, if the data is valid the user can login into the system.
Sequence
diagram
for Order
The above diagram is sequence diagram for ordering. Once the user is registered, he/she can
login into the system and order their desired products. Once they click the products there will
be the option for buying, if the user clicks on buy the product is transferred into the cart. To
complete the ordering user must check out with the shipping address. Once the user
completes the check out, the order is transferred into the admin.
The above figure is the sequence diagram for admin. For admin the user must request the
login panel by entering the url. Once the login appears, the admin must enter the email and
password. After that, the dashboard is opened. In the dashboard there will be CRUD for
products, Brand and category and there will be a panel for order management. For the
products, Brand and the category admin can perform all the CRUD functionality. And for the
management of order, admin can first view the order list from different customers. Then admin
can accept the pending orders, in addition to that admin can view individual order by selecting
one. The admin can also download the invoice for the order by clicking the download button.
The reson for using sequence diagram in this project are given below:
Every operations can be viewed in sequential order.
The use cases can be visualized in this diagram.
The above given E-R diagram consists of eleven entities six of them for the main table and
five of them for the joining propose. The in between lines are the relationship between the
entities. The customer entity consists of the details about the customer. The order entity
consists of the order made by the customers. The customer_order entity is for joining
customer and order entity. The product entity is for the details about the products which
consists of the brand name and category name taken from the brand and category entity
respectively. The category and product is joined by category_product whereas the brand and
the product is joined by the brand_product entity. The order details entity consists of overall
details of the order including the product information and amount for customer and the
shipping details. The order details and the product entity is joined by product_order entity. And
the order and order details is joined by order_OrderDetails entty.
10. Da
ta
dictionary
for product_order
In the above screenshot of the data dictionary, there are six columns, which describes the
data name, data types, length, nullability, key and the constraints of the table. The column
name determines the data names, the type determines the type of data whether integer or
etc, the the null explains whether the is null or not, the key determines the field is primary key
or foreign key or none of them and the constraint provides the constraints name.
The importance of the database in the system is given below:
the data dictionary provides us with a clear information on databases
A developer can clearly understand the database through the data dictionary
The database is difficult to understand because it is very huge. Hence, data dictionary
helps us to retrieve all the information of database in a system.
3.4 UI Design:
Chapter 4 Coding
Coding refers to the creation of computer programming code. It is the language of the
computer. Computer programming or coding is the process of developing software i.e. the
language which is further used for the development of websites and computer applications
etc.
Coding is the way for the connection between computers and humans. In this internet age
every latest technology that we are utilizing are the product of coding. For example;
Skype,Yahoo etc.
Chapter 5 Testing:
The estimation of the software on the basis of the requirements which were collected from the
specifications and the user is conducted. Testing is done at the project or the phase level in
the software development cycle. It involves verification and confirmation.
Test 1: Registration.
Test ID: 1.
Testing Title: Register Testing Test Planned Date: 2019-apr-5
Po
st-condition: Use can select multiple products.
Test ID: 4.
Testing Title: Shipping test Test Planned Date: 2019-apr-5
Test Priority (High/Medium/Low): High Test Executed BY: Kishor Bhattarai
Test Completing Date: 2019-apr-5
Po
st-conditions: Products must be edited.
Po
st-Condition: Brand must be added
pos
t-condition: Brand must be updated
Po
st-condition: Category must be deleted
Pos
t-condition: Products must be deleted
Chapter 6:
6.1. Other Issues in the project
Although, my project was successful, I faced different issues during the completion of the
system. I would like to point out the different issues I faced during the development phase of
the system. They are given as follows:
First of all, the project analysis was tough. I had to schedule each and every phase of
the project while making the proposal. The projected outcome of the scheduling was
hard to keep in track. In addition to that, the DFD was difficult to foresee.
The design of the UI took more than expect, I wouldn't say it as a difficult task but it dit
take a lot of time which made other phase of development tight-scheduled.
The designing of the Data Flow Diagram was tough. All the flow of the data in the
system may not be drafted properly.
Choosing the right software for designing database was a challenge, I would say.
Many software didn't have the option for a complete database designing feature.
Because of that, I had to use MS. Word for the data dictionary and Visual Paradigm
both simultaneously.
I used XAMPP as my local server and during the development, it stopped working. I
had to configure XAMPP to change my port.
Every functionality and I mentioned in my proposal were unable to be completed due
to the tight-schedule and limited resource.
The Testing was difficult too. I have to re-write the testing codes which shortned
deadline of the project.
ready, I started gathering requirements. After that, I started designning the project. It took a lot
of time to design these diagrams. When I started coding, I didn’t have a core knowledge on
the PHP patterns and its frameworks. Firstly, I starting watching tutorials on Youtube about the
codeigniter. I had enough time to complete the project, so I worked gradually. The most
difficult part was to use multiple database where I seek a help of my friend (Former Softwarica
Student). After that, I increased my pace of working and am finally able to complete the
system with least flaws. As we all know no any project is perfect, E-shop also has few touch-
ups to be given which couldn’t be completed due to short time period.
a basket termed as Cart. After adding the items into the cart user can either continue
shopping and add other products to the cart or simply finish the shopping by clicking into the
checkout bottom. One thing I would like to mention is that, user can view their shopping
details by pressing into the cart. After that, user must enter the shipping details including
name. Number, address and email. After that, user must choose the payment option, currently
there is only cash on delivery available. When that is done, the shopping is complete.
There is not a hardcore requirement for installing the system, the requirements are listed
below:
Any operating system will work
Any browser will be okay.
XAMPP or other database system must be there for local use.
Ram with up to 100MB of free space
Hard Drive with up to 1GB free space.
For logging in, user must enter the registered data into the form. Once the login is complete,
user can shop easily.
For registering:
For registering into E-shop, user must request the register page and enter the above given
data. If the data isbt valid, message will appear and if the data is valid user can log in into the
system.
For browsing:
The above screenshot is of the dashboard of the system, user can view different products
from dashboard too.
Product page:
Single product:
By clicking on the details of the product one can find the details of the product.
Added products
Once the user adds products to the cart the above panel opens.
Checking out:
if the user wasn’t logged in and checked out after adding the product to the cart the above
panel appears asking the user to weather login or register.
And if the user is already logged in, after clicking the checkout the following panel appears:
In this panel user must enter the shipping address to complete the shopping and in addition to
that, user must choose the payment option as shown in the screenshot below.
After choose the payment option, shopping is complete and the order products data is
transferred to admin.
Chapter 7
7.1 The Conclusion:
E-shop is a web application for shopping online. It was initially build for Elite Shop, for its
business expansion and Customer satisfaction. It has a basic E-commerce functions where
user can order the available products and admin can perform CRUD operations on the details
of the product and Manage the order requested by the customer.
I have chosen E-shop as a part of my project for Computing Project Curriculum. Initially I
proposed a proposal to my modulator and thanks to him, the proposal was accepted. After
that I studied over different frameworks and choose CI in PhP. Then, I started doing my
research on different diagrams needed for the development of the system. Then I started to
learn more about the working of E-commerce on medias. When I thought I was ready, I
started gathering requirements. After that, I started designning the project. It took a lot of time
to design these diagrams. When I started coding, I didn’t have a core knowledge on the PHP
patterns and its frameworks. Firstly, I starting watching tutorials on Youtube about the
codeigniter. I had enough time to complete the project, so I worked gradually. The most
difficult part was to use multiple database where I seek a help of my friend (Former Softwarica
Student).
Continuing the analysis phase, i choose hard approach for the system because it suited the
project more over soft approach. After that on the design phase, I started designing different
diagrams (Functional, Structural and database). There are many design attached to the
system like Use-case diagram, E-R diagram, Activity diagram, sequence diagram, etc. then I
started coding which was a challenge for me as I mentioned earlier YouTube helped me a lot
as long as my modular teacher. As stated above I used PHP in CodeIgniter framework which
works on MVC pattern. I choose MVC pattern because I was familiar on it. I had my 3months
internship program on the CI framework. Then when the coding was finished I starting testing
in which I performed BlackBox testing and Unit Testing.
After the testing, I started writing the documentation to be submitted to the College along with
the limitations of my project and the future works. As mentioned earlier this project isnt perfect
and there are few touch ups to be given. Overall, the system was completed on time with two
module one for admin and the other for the customer.
Appendix
Admin Dashboard:
Product page:
Brand Page:
Category Page:
Order page: