Food Stop Report
-
Upload
rajnikant743 -
Category
Documents
-
view
215 -
download
0
Transcript of Food Stop Report
-
7/31/2019 Food Stop Report
1/153
SCHOOL OF COMPUTING
UNIVERSITY OF TEESSIDE
MIDDLESBROUGH
TS1 3BA
FoodStop
BSc Computing
Rajnikant Ramcharan Sharma
4th April 2011
Supervisor: Charlie McElhone
Second Reader: John Goodge
-
7/31/2019 Food Stop Report
2/153
SCHOOL OF COMPUTING
UNIVERSITY OF TEESSIDE
MIDDLESBROUGH
TS1 3BA
FoodStop
BSc Computing
Rajnikant Ramcharan Sharma
4th April 2011
Supervisor: Charlie McElhone
Second Reader: John Goodge
-
7/31/2019 Food Stop Report
3/153
FoodStop
Rajnikant Ramcharan Sharma (K0171428) Page 3
ABSTRACT
Internet culture has spread across the world from last few decades. At present
almost everyone uses internet for doing their professional or personal task. Inpresent era everyone wants their task to be completed as quickly as possible.
Moreover, Today almost everything is available to the users on the internet.
Online Food Ordering Website is also one of them and it has widely gain
popularity among European Countries and United States.
Ordering food over phone is time consuming as customer will have to give all the
information like address, post code, phone number and also have to takeinformation of the available items and their price from the bearer. This is a long
process and on the other hand the person who is taking the call has to cross
check whether all the ordered items taken down are correct or not, so that wrong
order is not send to the customer. Still if the person over the phone by mistake
has taken wrong order then the customer will end-up having the wrong items.
The main aim of the project is to build online food ordering website i.e. E-
Commerce website which will not only give the customer option of selecting
takeaway and menu items. But they will also be able to compare prices among
different takeaways, as menus of the selected takeaway will be available online.
The customer will be able to search for takeaway on basis of area code or can
see the list of all the takeaways available. The customer will have the option of
paying online using Credit/Debit card or pay cash when they receive their order.
-
7/31/2019 Food Stop Report
4/153
FoodStop
Rajnikant Ramcharan Sharma (K0171428) Page 4
ACKNOWLEDGEMENTS
I have enjoyed a lot while working on this project. This project has been a
learning experience for me. This project has helped me in realizing mycapabilities and work more and more to increase them. I have also come to know
about my limitations and will try to overcome them in projects that I will work on in
future.
I express my thanks to project guide Mr.McElhone Charlie from bottom of my
heart for constantly supporting and guiding me throughout the project.
I convey my thanks to Teesside University and faculty members for all the help
and support provided by them. I am thank full to all my family members for
constantly supporting and motivating me to work more and more on this project.
I would have not been able to develop such a web application without the support
that, I have received from all the people that are surrounded by me.
-
7/31/2019 Food Stop Report
5/153
FoodStop
Rajnikant Ramcharan Sharma (K0171428) Page 5
Contents
1. Introduction .................................................................................................... 8
2. Aims And Objectives...................................................................................... 9
3. Methodology ................................................................................................ 11
3.1. Different Methodologies......................................................................... 113.2. Prototyping Model ................................................................................. 12
3.2.1. Planning .......................................................................................... 13
3.2.2. Analysis ........................................................................................... 13
3.2.3. Design ............................................................................................. 13
3.2.4. Implementation ................................................................................ 13
3.2.5. Prototype ......................................................................................... 14
4. Research ..................................................................................................... 15
4.1. General Overview .................................................................................. 15
4.2. Web Programming Technologies .......................................................... 16
4.2.1. ASP.NET ......................................................................................... 164.2.2. PHP ................................................................................................. 17
4.2.3. JavaScript ....................................................................................... 18
4.2.4. Cascading Style Sheet (CSS) ......................................................... 18
5. Tools and Process Selection ....................................................................... 19
6. Planning ....................................................................................................... 20
6.1. Schedule of Milestone Activities ............................................................ 20
6.2. Gantt Chart ............................................................................................ 20
6.3. Quality Plan ........................................................................................... 20
6.3.1. Quality Goals ................................................................................... 206.3.2. Reviews .......................................................................................... 21
6.3.3. Testing ............................................................................................ 21
6.3.4. Back up ........................................................................................... 21
7. Analysis ....................................................................................................... 22
7.1. Needs Analysis / Requirement of the system ........................................ 22
7.2. Solution ................................................................................................. 22
7.3. Data Gathering ...................................................................................... 22
7.4. Statement of Purpose ............................................................................ 23
7.5. Audience ............................................................................................... 23
7.6. Analysis Report ..................................................................................... 24
8. Design ......................................................................................................... 25
8.1. System .................................................................................................. 25
8.1.1. Visual Style ..................................................................................... 25
8.1.2. On Paper Designing ........................................................................ 26
8.1.3. Customer Page Designing .............................................................. 27
8.1.4. Administrator Page Designing ......................................................... 27
8.1.5. List of Events ................................................................................... 28
8.1.6. Story Board ..................................................................................... 35
8.2. Database ............................................................................................... 488.2.1. Database Design ............................................................................. 48
-
7/31/2019 Food Stop Report
6/153
FoodStop
Rajnikant Ramcharan Sharma (K0171428) Page 6
8.2.2. Determining Data to be stored ........................................................ 49
8.2.3. Conceptual Design .......................................................................... 50
8.2.3.1. Entity Type ................................................................................ 50
8.2.3.2. Attributes of Entity ..................................................................... 52
8.2.3.3. Data Dictionary ......................................................................... 538.2.3.4. UML Diagram ............................................................................ 61
8.2.4. Logical Design ................................................................................. 62
8.2.5. Physical Design ............................................................................... 65
8.3. Case study diagram .............................................................................. 66
8.3.1. Flowchart......................................................................................... 66
8.3.2. Context Diagram ............................................................................. 67
9. Implementation ............................................................................................ 68
9.1. Implementation of the Environment ....................................................... 68
9.2. Implementation of the Application ......................................................... 69
9.3. Use of the Tools / Controls .................................................................... 709.4. Implementation of the Database ............................................................ 70
9.5. Implementation of the Coding ................................................................ 70
9.6. Implement Access for different Types of User ....................................... 72
9.7. Integration of Menu Bar ......................................................................... 72
9.8. Implementation of Asp.Net E-mail functionality ..................................... 72
9.9. Integration of PayPal Feature ................................................................ 73
9.10. Integration of Facebook Page ............................................................. 74
10. Testing ....................................................................................................... 75
10.1. V-Testing Method ................................................................................ 7510.2. Verification And Validation ................................................................... 76
10.3. Levels of Testing / Testing Process ..................................................... 76
10.3.1. Unit Testing ................................................................................... 77
10.3.2. Integration Testing ........................................................................ 79
10.3.3. System Testing ............................................................................. 80
10.3.4. Acceptance Testing ....................................................................... 80
10.4. Test Case ............................................................................................ 80
11. Evaluation .................................................................................................. 81
11.1 Evaluating Project ................................................................................ 81
11.2. Evaluating Personal Development ...................................................... 82
12. Future Recommendations ......................................................................... 83
References ...................................................................................................... 85
Bibliography ..................................................................................................... 92
Appendix .......................................................................................................... 98
APPENDIX A - Project Specification ............................................................ 98
APPENDIX B - Waterfall / Prototyping Methodology .................................. 100
APPENDIX C - .NET Framework ............................................................... 102
APPENDIX D - Tools and Process Selection ............................................. 104
APPENDIX E - Schedule ............................................................................ 107APPENDIX F - Gantt chart ......................................................................... 109
-
7/31/2019 Food Stop Report
7/153
FoodStop
Rajnikant Ramcharan Sharma (K0171428) Page 7
APPENDIX G - On Paper Designs ............................................................. 111
APPENDIX H - Customer Page Designs .................................................... 118
APPENDIX I - Administrator Page Designs ................................................ 125
APPENDIX J - Physical Designs ................................................................ 129
APPENDIX K - Tools / Controls .................................................................. 131APPENDIX L - Coding ................................................................................ 133
APPENDIX M - Test Cases ........................................................................ 148
APPENDIX N - Errors/Solution ................................................................... 151
-
7/31/2019 Food Stop Report
8/153
FoodStop
Rajnikant Ramcharan Sharma (K0171428) Page 8
1. Introduction
Online food ordering websites comprises of attractive menus and allows the
customers to place an order from the local takeaway and restaurant's. Some of
these websites allow the customers to register with them. This helps in
decreasing the time of ordering food as customers will have to just login and
order food while rest of the details will be already there in the database of website
after their first registration.
The process of ordering food through such website is very easy as the customers
will have to just select the available items from the takeaways or restaurants
selected by them. Customer can pay for the food using any of the available
payment option i.e. Credit Card or Cash. Some percentage of the ordered items
is paid to the online food ordering Website Company by the takeaway or the
restaurant from where the food is ordered.
Many websites like www.just-eat.co.uk , www.meal2go.com and
www.hungryhouse.co.uk are famous in UK, while just-eat is famous throughout
Europe. This websites have the similar process of ordering food and thiswebsites are increasing competition among them which in return results in
benefiting customer by giving attractive prizes and discounts.
With all these information in mind and knowing the importance of online food
ordering websites in the present world. The current project aims to develop a
dynamic and attractive website with some more features which will not only
attract the customers but will also make the process of ordering food more andmore easy. This website will be referred as FoodStop throughout the report.
Principally, Customers have to just enter their area code which will give the list of
takeaways available in their area and then select the item they want. Then
Customer will have to just place an order from selected takeaway and make a
payment for it using credit/debit card via PayPal or Cash on delivery.
http://www.google.com/url?q=http%3A%2F%2Fwww.just-eat.co.uk%2F&sa=D&sntz=1&usg=AFQjCNErlGCterpGR20-cxv_NIMVl1j8Oghttp://www.google.com/url?q=http%3A%2F%2Fwww.just-eat.co.uk%2F&sa=D&sntz=1&usg=AFQjCNErlGCterpGR20-cxv_NIMVl1j8Oghttp://www.google.com/url?q=http%3A%2F%2Fwww.just-eat.co.uk%2F&sa=D&sntz=1&usg=AFQjCNErlGCterpGR20-cxv_NIMVl1j8Oghttp://www.google.com/url?q=http%3A%2F%2Fwww.meal2go.com%2F&sa=D&sntz=1&usg=AFQjCNF9st3HfwxGngmANMAVEbcdIXaOdQhttp://www.google.com/url?q=http%3A%2F%2Fwww.meal2go.com%2F&sa=D&sntz=1&usg=AFQjCNF9st3HfwxGngmANMAVEbcdIXaOdQhttp://www.google.com/url?q=http%3A%2F%2Fwww.meal2go.com%2F&sa=D&sntz=1&usg=AFQjCNF9st3HfwxGngmANMAVEbcdIXaOdQhttp://www.google.com/url?q=http%3A%2F%2Fwww.hungryhouse.co.uk%2F&sa=D&sntz=1&usg=AFQjCNGquzP0LfxT19uafaAhRYUy6MfTwghttp://www.google.com/url?q=http%3A%2F%2Fwww.hungryhouse.co.uk%2F&sa=D&sntz=1&usg=AFQjCNGquzP0LfxT19uafaAhRYUy6MfTwghttp://www.google.com/url?q=http%3A%2F%2Fwww.hungryhouse.co.uk%2F&sa=D&sntz=1&usg=AFQjCNGquzP0LfxT19uafaAhRYUy6MfTwghttp://www.google.com/url?q=http%3A%2F%2Fwww.hungryhouse.co.uk%2F&sa=D&sntz=1&usg=AFQjCNGquzP0LfxT19uafaAhRYUy6MfTwghttp://www.google.com/url?q=http%3A%2F%2Fwww.hungryhouse.co.uk%2F&sa=D&sntz=1&usg=AFQjCNGquzP0LfxT19uafaAhRYUy6MfTwghttp://www.google.com/url?q=http%3A%2F%2Fwww.hungryhouse.co.uk%2F&sa=D&sntz=1&usg=AFQjCNGquzP0LfxT19uafaAhRYUy6MfTwghttp://www.google.com/url?q=http%3A%2F%2Fwww.hungryhouse.co.uk%2F&sa=D&sntz=1&usg=AFQjCNGquzP0LfxT19uafaAhRYUy6MfTwghttp://www.google.com/url?q=http%3A%2F%2Fwww.hungryhouse.co.uk%2F&sa=D&sntz=1&usg=AFQjCNGquzP0LfxT19uafaAhRYUy6MfTwghttp://www.google.com/url?q=http%3A%2F%2Fwww.hungryhouse.co.uk%2F&sa=D&sntz=1&usg=AFQjCNGquzP0LfxT19uafaAhRYUy6MfTwghttp://www.google.com/url?q=http%3A%2F%2Fwww.hungryhouse.co.uk%2F&sa=D&sntz=1&usg=AFQjCNGquzP0LfxT19uafaAhRYUy6MfTwghttp://www.google.com/url?q=http%3A%2F%2Fwww.meal2go.com%2F&sa=D&sntz=1&usg=AFQjCNF9st3HfwxGngmANMAVEbcdIXaOdQhttp://www.google.com/url?q=http%3A%2F%2Fwww.meal2go.com%2F&sa=D&sntz=1&usg=AFQjCNF9st3HfwxGngmANMAVEbcdIXaOdQhttp://www.google.com/url?q=http%3A%2F%2Fwww.meal2go.com%2F&sa=D&sntz=1&usg=AFQjCNF9st3HfwxGngmANMAVEbcdIXaOdQhttp://www.google.com/url?q=http%3A%2F%2Fwww.meal2go.com%2F&sa=D&sntz=1&usg=AFQjCNF9st3HfwxGngmANMAVEbcdIXaOdQhttp://www.google.com/url?q=http%3A%2F%2Fwww.meal2go.com%2F&sa=D&sntz=1&usg=AFQjCNF9st3HfwxGngmANMAVEbcdIXaOdQhttp://www.google.com/url?q=http%3A%2F%2Fwww.meal2go.com%2F&sa=D&sntz=1&usg=AFQjCNF9st3HfwxGngmANMAVEbcdIXaOdQhttp://www.google.com/url?q=http%3A%2F%2Fwww.meal2go.com%2F&sa=D&sntz=1&usg=AFQjCNF9st3HfwxGngmANMAVEbcdIXaOdQhttp://www.google.com/url?q=http%3A%2F%2Fwww.meal2go.com%2F&sa=D&sntz=1&usg=AFQjCNF9st3HfwxGngmANMAVEbcdIXaOdQhttp://www.google.com/url?q=http%3A%2F%2Fwww.just-eat.co.uk%2F&sa=D&sntz=1&usg=AFQjCNErlGCterpGR20-cxv_NIMVl1j8Oghttp://www.google.com/url?q=http%3A%2F%2Fwww.just-eat.co.uk%2F&sa=D&sntz=1&usg=AFQjCNErlGCterpGR20-cxv_NIMVl1j8Oghttp://www.google.com/url?q=http%3A%2F%2Fwww.just-eat.co.uk%2F&sa=D&sntz=1&usg=AFQjCNErlGCterpGR20-cxv_NIMVl1j8Oghttp://www.google.com/url?q=http%3A%2F%2Fwww.just-eat.co.uk%2F&sa=D&sntz=1&usg=AFQjCNErlGCterpGR20-cxv_NIMVl1j8Oghttp://www.google.com/url?q=http%3A%2F%2Fwww.just-eat.co.uk%2F&sa=D&sntz=1&usg=AFQjCNErlGCterpGR20-cxv_NIMVl1j8Oghttp://www.google.com/url?q=http%3A%2F%2Fwww.just-eat.co.uk%2F&sa=D&sntz=1&usg=AFQjCNErlGCterpGR20-cxv_NIMVl1j8Oghttp://www.google.com/url?q=http%3A%2F%2Fwww.just-eat.co.uk%2F&sa=D&sntz=1&usg=AFQjCNErlGCterpGR20-cxv_NIMVl1j8Oghttp://www.google.com/url?q=http%3A%2F%2Fwww.just-eat.co.uk%2F&sa=D&sntz=1&usg=AFQjCNErlGCterpGR20-cxv_NIMVl1j8Oghttp://www.google.com/url?q=http%3A%2F%2Fwww.just-eat.co.uk%2F&sa=D&sntz=1&usg=AFQjCNErlGCterpGR20-cxv_NIMVl1j8Oghttp://www.google.com/url?q=http%3A%2F%2Fwww.just-eat.co.uk%2F&sa=D&sntz=1&usg=AFQjCNErlGCterpGR20-cxv_NIMVl1j8Og -
7/31/2019 Food Stop Report
9/153
FoodStop
Rajnikant Ramcharan Sharma (K0171428) Page 9
2. Aims And Objectives
The main objective of this project is to build an Online Food Ordering Website i.e.
FoodStop.
Aims of the product:-
Develop two sides i.e. Customer Side and Administrator Side
Customer Side:-
Allow customers to search takeaway by area code.
Display List of Takeaways to the customers directly without any search.
Allow customers to select the takeaway of their choice.
Allow customers to place an order with FoodStop, if they are registered
with FoodStop.
Allow customers the option of password recovery if they have forgotten.
Send customer the invoice of the food ordered via E-mail.
Allow customers to make payment via PayPal or Cash.
Allow customers to give Feedback.
Administrator Side:-
Allow admin to add new takeaway.
Allow admin to update details of the existing takeaways.
Allow admin to delete the existing takeaway.
Allow admin to create menu of the takeaway when new takeaway is
added.
Allow admin to make changes to the menu of the existing takeaway. Allow admin to generate news.
Send all the existing customers who are subscribed to receive an e-mail
when new takeaway is added.
Allow admin to add new admin.
Allow admin to delete existing admin.
Allow admin to change e-mail id, password and admin name of admin
itself.
-
7/31/2019 Food Stop Report
10/153
FoodStop
Rajnikant Ramcharan Sharma (K0171428) Page 10
My personal aim with this project includes:
Increase the knowledge of programming.
Developing the skills of modelling data.
Integrating PayPal payment system.
Understand and Write a conclusive report on project regarding the
development process of the project.
-
7/31/2019 Food Stop Report
11/153
FoodStop
Rajnikant Ramcharan Sharma (K0171428) Page 11
3. Methodology
Methodology is a set of procedures and techniques used to collect, store, analyze
and present information. Moreover, In order to achieve goal, objectives and
create an application with minimum fall risk the best suited methodology for the
development of website is used. Methodology is needed because development of
website can be difficult and complex at time. In such situations methodology can
be used as a framework to guide developer in developing the product more
systematic and efficiently.
3.1. Different Methodologies
There are many methodologys which can be used for the development of the
system. Selection of methodology depends on different criteria like time,
resources available, type of product to develop etc. All of them have their own
advantages and disadvantages. All this methodologys have 4-5 basic web
development process i.e. analysis, design, coding, testing and maintenance. But
the way in which this basic process needs to be executed do change and
depends on which methodology is being used developing the system. The
different kind of methodologys/model that can be used for developing system
along with their advantages and disadvantages are as below:-
Waterfall Model
Prototyping Model
Exploratory Model
Spiral Model
Reuse Model
A deep study on all this methodologies was done and then two models i.e.
Waterfall Model and Prototyping Model were sorted out. Further Waterfall and
Prototyping Model were compared to select any one from them. Please refer
Appendix B it gives more information regarding Waterfall and Prototyping
Methodology.
-
7/31/2019 Food Stop Report
12/153
FoodStop
Rajnikant Ramcharan Sharma (K0171428) Page 12
3.2. Prototyping Model
In current project i.e. FoodStop, Prototyping model is followed. It was strongly
followed and as a result of it many functionalities were included in the system
when changes were required to be done. After planning was completed,
prototype of the system was build and shown to the project leader Mr.McElhone.
Changes were done in the project according to the new ideas given by him and in
this way design, implementation phase were repeated again and again till entire
website was not developed.
Figure 3.2 Prototyping Methodology [2].
-
7/31/2019 Food Stop Report
13/153
FoodStop
Rajnikant Ramcharan Sharma (K0171428) Page 13
All the individual phase of the prototyping model are explained in brief below:-
3.2.1. Planning
Project planning is important phase of developing the system. In this phase, a
schedule and time frame in which the project and its different phase have to be
covered was decided. It's easy to develop the system on time, if a good plan is
made and followed till end of the project.
3.2.2. Analysis
In this phase, requirements of the system where collected. Takeaways were
visited and information about entire process was collected. Information regarding
how takeaways proceed with the order when they receive it and how they are
connected with the Online Food Order Website was collected. After this rough
ideas about what set of functionalities end-user may be expecting from the
system was known. These entire sets of requirements were collected and then
were analyzed to find out whether they are feasible or not.
3.2.3. Design
Once all the information and requirement about the system was gathered andanalyzed then it was necessary to identify in detail how the system will be
constructed in order to execute necessary task [3]. A set of one or more design
were created on the basis of the requirement .i.e. Designing interface of website
and Database was done. These designs were shown to the project guide and
after approval implementation phase was started.
3.2.4. Implementation
Implementation phase comprises of coding and testing phases. These phases
are explained below:-
1. Coding
In design phase, front-end of the website i.e. interface (How it will look) was
developed .But in order to execute any task coding / programming is necessary.
In other words, requirements and systems specification from design phase are
translated into machine readable computer code [3].
-
7/31/2019 Food Stop Report
14/153
FoodStop
Rajnikant Ramcharan Sharma (K0171428) Page 14
2. Testing
After coding phase, the prototype of website was totally developed and then
testing was performed to ensure that it was working correctly and efficiently.
Testing was generally focused on two core areas:
1. Internal correctness
2. External effectiveness
Internal efficiency testing was done to make sure that the computer code was
efficient, well documented and of standard level.
External effectiveness testing was done to find out that whether the software is
functioning according to actual system design or not and to see that all the
functions and sub-functions are working properly.
3.2.5. Prototype
In this phase, the prototype was shown to the project leader and feedbacks were
taken. According to the feedback received, requirements of the system and
changes that were needed in the system were done. Further the process of
analysis, design and implementation were repeated again and again till the final
system was not developed.
-
7/31/2019 Food Stop Report
15/153
-
7/31/2019 Food Stop Report
16/153
FoodStop
Rajnikant Ramcharan Sharma (K0171428) Page 16
4.2. Web Programming Technologies
4.2.1. ASP.NET
ASP.NET is the server side scripting technology developed by Microsoft. ASPstands for Active Server Pages. Programs developed in ASP.NET runs within
Microsoft Internet Server i.e. Internet Information Services (IIS). All ASP.NET files
have (.aspx) extension.
Process of ASP.NET file
When a request from ASP.NET file is send from browser, the request is send to
the ASP.NET engine on the server. The file send by the browser is read line after
line by browser, and scripts are executed. Finally in response browser receives a
plain HTML.
The Microsoft .NET Framework
The .Net Framework from Microsoft Windows operating system is a software
framework which includes large library and supports several programming
languages along with language interoperability i.e. one language can read the
code written in other language [4].
The .NET Framework consists of 3 main parts: (Section taken from
http://www.w3schools.com/aspnet/aspnet_intro.asp[5])
Programming languages:
C# (Pronounced C sharp)
Visual Basic (VB .NET)
J# (Pronounced J sharp)
Server technologies and client technologies:
ASP .NET (Active Server Pages)
Windows Forms (Windows desktop solutions)
Compact Framework (PDA / Mobile solutions)
http://www.w3schools.com/aspnet/aspnet_intro.asphttp://www.w3schools.com/aspnet/aspnet_intro.asphttp://www.w3schools.com/aspnet/aspnet_intro.asp -
7/31/2019 Food Stop Report
17/153
FoodStop
Rajnikant Ramcharan Sharma (K0171428) Page 17
Development environments:
Visual Studio .NET (VS .NET)
Visual Web Developer
Features
The principal features of the .NET Framework are:-
1. Interoperability.
2. Common Language runtime Engine.
3. Language Independence.
4. Basic Class Library.
5. Simplified Deployment.6. Security.
7. Portability.
All the above features are explained in APPENDIX C. Please refer it to know
more about .NET Framework.
4.2.2. PHP
PHP is also server-side scripting language similar to ASP.NET where PHP
stands for Hypertext Pre-processor. Databases like Oracle, MySQL, Informix,
Solid, Sybase, PostgreSQL, ODBC, Generic etc. Moreover PHP is open source
software and can be downloaded for free. All PHP files have .php, .php3 or
.phtml extension.
Process of PHP file
PHP file can also contain html tags, scripts and text similar to the asp.net file.
Browser receives the php files in plain html format.
Features
PHP is platform independent i.e. it can run on (UNIX, Windows, Linux etc). PHP
is server (Apache, IIS, etc) compatible. It runs efficiently on the server side.
-
7/31/2019 Food Stop Report
18/153
FoodStop
Rajnikant Ramcharan Sharma (K0171428) Page 18
4.2.3. JavaScript
JavaScript is the popular scripting language on the web, and works in all major
browsers, such as Internet Explorer, Firefox, Chrome, Opera and Safari" [8].
Though having limited sets of base objects, methods and data types it is capable
of developing client and server side application. It is used for making web pages
more interactive. It also has strength of being small overhead. It is used in billions
of web pages to validate forms, for communicating with the server, for adding
functionalities and much more. As JavaScript is an interpreted language it can be
executed without any preliminary compilation.
4.2.4. Cascading Style Sheet (CSS)
Cascading Style Sheet (CSS) is a style sheet that is used to describe the look
and formatting of the document written in a mark-up language.
Styles define how to display html elements [9].
They can be used to construct an external style sheets, this saves a lot of work.
Entire look of website can be change by including this CSS file in the webpage.
-
7/31/2019 Food Stop Report
19/153
FoodStop
Rajnikant Ramcharan Sharma (K0171428) Page 19
5. Tools and Process Selection
Software: Microsoft Visual Studio 2010 Ultimate
Front End:ASP.NET (Active Server Pages)
Programming Language: C#
Database: SQL Server 2008
Methodology: Prototype
For more information regarding the reason of selecting this tools / process and
requirements of the system for using this software. Please see Appendix D.
-
7/31/2019 Food Stop Report
20/153
FoodStop
Rajnikant Ramcharan Sharma (K0171428) Page 20
6. Planning
The first phase of the Prototype Model is to plan the project. The Planning phase
of the project starts from here:-
6.1. Schedule of Milestone Activities
There was time limit of 20 weeks to develop the product and complete the report.
So it was necessary to plan according to it. As a result, a schedule was created in
which different task were planned to be completed every week.
Please refer Appendix E for the schedule.
6.2. Gantt Chart
The most important thing while developing a project is to take care of Time-
Management. In order to keep track of planned progress, actual progress and to
do the decided task on time Gantt chart was developed.
Gantt chart helps in representation of chronological flow of project including
sequence and duration of project activities [13].
Please refer Appendix F for Gantt chart.
6.3. Quality Plan
6.3.1. Quality Goals
Grammatical and spelling mistakes will be removed.
3 click rules will be followed in order to make all the pages easily
accessible.
Every image and input fields will have ToolTip which will be visible when
end-user moves cursor over it.
Tab index will be set for all the input fields.
-
7/31/2019 Food Stop Report
21/153
FoodStop
Rajnikant Ramcharan Sharma (K0171428) Page 21
Website will be viewable in Mozilla Firefox, Internet Explorer and Google
Chrome.
Breadcrumbs will be kept, so that end-user can go back to any page from
where he/she has cameor can go to Home page.
There will be no broken links.
It being an online food ordering website will be made more attractive to
attract the customers.
Password of Customers and Administrator will be encrypted.
Query String data that is viewable in header along with URL will also be
encrypted.
6.3.2. Reviews
Documentation produced and Tasks done will be reviewed weekly against the
Gantt chart to identify that task is completed on time.
6.3.3. Testing
Testing of the application completed will be done at regular intervals to avoid any
major errors / problems at the end. Preventive measures will be taken as soon as
any error or problem will be found.
6.3.4. Back up
The product and report created will be taken to a portable media device at regular
interval to avoid any circumstances of losing the data and to ensure that
backtracking is possible.
-
7/31/2019 Food Stop Report
22/153
FoodStop
Rajnikant Ramcharan Sharma (K0171428) Page 22
7. Analysis
Analysis is the second phase of the prototype methodology. In this phase
following activities were taken place and they are as below:-
7.1. Needs Analysis / Requirement of the system
The following were the situations which resulted in the development of the
proposed system:-
Customer wants to order food from the takeaway.
Customer wants the food to be delivered at home.
Customer wants to pay the bill online by Credit/Debit card or by cash on
delivery.
7.2. Solution
A web based application i.e. website will be able to solve the following problems.
Customer will be able to search for the takeaway on the basis of the area
code.
Customer can compare the price of different items among different
takeaways.
Customer can see the list of takeaways available.
Customer can order food online from the selected takeaway and can also
do the payment online using their credit / debit card.
7.3. Data Gathering
On basis of the requirement specified in the Need Analysis activity following
research was done and information was gathered from the current working of the
existing systems of similar type.
Takeaways like Dixy Chicken and Iqbals Balti Raj were visited to find out how is
the process going on at present. The process that is followed at present is as
explained below:-
Current Process: At present if any Customer wants to order food online then the
customer can order the food from www.just-eat.co.uk . Just-eat is working as a
http://www.google.com/url?q=http%3A%2F%2Fwww.just-eat.co.uk&sa=D&sntz=1&usg=AFQjCNFYM7FqLhrC0Pxw0Q1_5yL-9O8d1whttp://www.google.com/url?q=http%3A%2F%2Fwww.just-eat.co.uk&sa=D&sntz=1&usg=AFQjCNFYM7FqLhrC0Pxw0Q1_5yL-9O8d1whttp://www.google.com/url?q=http%3A%2F%2Fwww.just-eat.co.uk&sa=D&sntz=1&usg=AFQjCNFYM7FqLhrC0Pxw0Q1_5yL-9O8d1whttp://www.google.com/url?q=http%3A%2F%2Fwww.just-eat.co.uk&sa=D&sntz=1&usg=AFQjCNFYM7FqLhrC0Pxw0Q1_5yL-9O8d1whttp://www.google.com/url?q=http%3A%2F%2Fwww.just-eat.co.uk&sa=D&sntz=1&usg=AFQjCNFYM7FqLhrC0Pxw0Q1_5yL-9O8d1whttp://www.google.com/url?q=http%3A%2F%2Fwww.just-eat.co.uk&sa=D&sntz=1&usg=AFQjCNFYM7FqLhrC0Pxw0Q1_5yL-9O8d1whttp://www.google.com/url?q=http%3A%2F%2Fwww.just-eat.co.uk&sa=D&sntz=1&usg=AFQjCNFYM7FqLhrC0Pxw0Q1_5yL-9O8d1whttp://www.google.com/url?q=http%3A%2F%2Fwww.just-eat.co.uk&sa=D&sntz=1&usg=AFQjCNFYM7FqLhrC0Pxw0Q1_5yL-9O8d1whttp://www.google.com/url?q=http%3A%2F%2Fwww.just-eat.co.uk&sa=D&sntz=1&usg=AFQjCNFYM7FqLhrC0Pxw0Q1_5yL-9O8d1whttp://www.google.com/url?q=http%3A%2F%2Fwww.just-eat.co.uk&sa=D&sntz=1&usg=AFQjCNFYM7FqLhrC0Pxw0Q1_5yL-9O8d1whttp://www.google.com/url?q=http%3A%2F%2Fwww.just-eat.co.uk&sa=D&sntz=1&usg=AFQjCNFYM7FqLhrC0Pxw0Q1_5yL-9O8d1w -
7/31/2019 Food Stop Report
23/153
FoodStop
Rajnikant Ramcharan Sharma (K0171428) Page 23
source of medium between takeaways and restaurants currently this website is
working in around about 8 countries. This website holding company have tie-ups
with the takeaways and restaurants and provide them with a device. They charge
the takeaways and restaurants approx 10% on every order that is made using
their website. In similar way all other online food order websites works.
Moreover, In order to gets more information regarding the working of websites
the below given four websites were visited and are also the competitors of the
FoodStop:-
1.www.meal2go.com
2.www.hungryhouse.co.uk
3.www.eatitnow.co.uk
4.www.just-eat.co.uk
7.4. Statement of Purpose
The major objective of this project is to build Online Food Ordering website. The
most important functionalities like Adding / Updating / Deleting Takeaway and
their Menu items , Search criteria for searching takeaway on basis of area code,
Placing order and secure mode of payment option for the order placed by the
customer will be included.
7.5. Audience
FoodStop being an Online Food Ordering Website, the target audience of the
website are General Public / Citizens.
Moreover, newly added takeaways who want to attract more customers and
provide them online food facility also come under the category of Audiences.
http://www.google.com/url?q=http%3A%2F%2Fwww.meal2go.com%2F---good&sa=D&sntz=1&usg=AFQjCNH0pcUcmsP3Ib4zigfoP54VQOzNfQhttp://www.google.com/url?q=http%3A%2F%2Fwww.meal2go.com%2F---good&sa=D&sntz=1&usg=AFQjCNH0pcUcmsP3Ib4zigfoP54VQOzNfQhttp://www.google.com/url?q=http%3A%2F%2Fwww.meal2go.com%2F---good&sa=D&sntz=1&usg=AFQjCNH0pcUcmsP3Ib4zigfoP54VQOzNfQhttp://www.google.com/url?q=http%3A%2F%2Fwww.hungryhouse.co.uk&sa=D&sntz=1&usg=AFQjCNEaqkdk9TKefYBFofBXUuA_jkO6rghttp://www.google.com/url?q=http%3A%2F%2Fwww.hungryhouse.co.uk&sa=D&sntz=1&usg=AFQjCNEaqkdk9TKefYBFofBXUuA_jkO6rghttp://www.google.com/url?q=http%3A%2F%2Fwww.eatitnow.co.uk&sa=D&sntz=1&usg=AFQjCNGbqak1ijf0qgHrDquAnGnY5Dh_oQhttp://www.google.com/url?q=http%3A%2F%2Fwww.eatitnow.co.uk&sa=D&sntz=1&usg=AFQjCNGbqak1ijf0qgHrDquAnGnY5Dh_oQhttp://www.google.com/url?q=http%3A%2F%2Fwww.eatitnow.co.uk&sa=D&sntz=1&usg=AFQjCNGbqak1ijf0qgHrDquAnGnY5Dh_oQhttp://www.google.com/url?q=http%3A%2F%2Fwww.just-eat.co.uk&sa=D&sntz=1&usg=AFQjCNFYM7FqLhrC0Pxw0Q1_5yL-9O8d1whttp://www.google.com/url?q=http%3A%2F%2Fwww.just-eat.co.uk&sa=D&sntz=1&usg=AFQjCNFYM7FqLhrC0Pxw0Q1_5yL-9O8d1whttp://www.google.com/url?q=http%3A%2F%2Fwww.just-eat.co.uk&sa=D&sntz=1&usg=AFQjCNFYM7FqLhrC0Pxw0Q1_5yL-9O8d1whttp://www.google.com/url?q=http%3A%2F%2Fwww.just-eat.co.uk&sa=D&sntz=1&usg=AFQjCNFYM7FqLhrC0Pxw0Q1_5yL-9O8d1whttp://www.google.com/url?q=http%3A%2F%2Fwww.just-eat.co.uk&sa=D&sntz=1&usg=AFQjCNFYM7FqLhrC0Pxw0Q1_5yL-9O8d1whttp://www.google.com/url?q=http%3A%2F%2Fwww.just-eat.co.uk&sa=D&sntz=1&usg=AFQjCNFYM7FqLhrC0Pxw0Q1_5yL-9O8d1whttp://www.google.com/url?q=http%3A%2F%2Fwww.just-eat.co.uk&sa=D&sntz=1&usg=AFQjCNFYM7FqLhrC0Pxw0Q1_5yL-9O8d1whttp://www.google.com/url?q=http%3A%2F%2Fwww.just-eat.co.uk&sa=D&sntz=1&usg=AFQjCNFYM7FqLhrC0Pxw0Q1_5yL-9O8d1whttp://www.google.com/url?q=http%3A%2F%2Fwww.just-eat.co.uk&sa=D&sntz=1&usg=AFQjCNFYM7FqLhrC0Pxw0Q1_5yL-9O8d1whttp://www.google.com/url?q=http%3A%2F%2Fwww.just-eat.co.uk&sa=D&sntz=1&usg=AFQjCNFYM7FqLhrC0Pxw0Q1_5yL-9O8d1whttp://www.google.com/url?q=http%3A%2F%2Fwww.just-eat.co.uk&sa=D&sntz=1&usg=AFQjCNFYM7FqLhrC0Pxw0Q1_5yL-9O8d1whttp://www.google.com/url?q=http%3A%2F%2Fwww.just-eat.co.uk&sa=D&sntz=1&usg=AFQjCNFYM7FqLhrC0Pxw0Q1_5yL-9O8d1whttp://www.google.com/url?q=http%3A%2F%2Fwww.eatitnow.co.uk&sa=D&sntz=1&usg=AFQjCNGbqak1ijf0qgHrDquAnGnY5Dh_oQhttp://www.google.com/url?q=http%3A%2F%2Fwww.eatitnow.co.uk&sa=D&sntz=1&usg=AFQjCNGbqak1ijf0qgHrDquAnGnY5Dh_oQhttp://www.google.com/url?q=http%3A%2F%2Fwww.eatitnow.co.uk&sa=D&sntz=1&usg=AFQjCNGbqak1ijf0qgHrDquAnGnY5Dh_oQhttp://www.google.com/url?q=http%3A%2F%2Fwww.eatitnow.co.uk&sa=D&sntz=1&usg=AFQjCNGbqak1ijf0qgHrDquAnGnY5Dh_oQhttp://www.google.com/url?q=http%3A%2F%2Fwww.eatitnow.co.uk&sa=D&sntz=1&usg=AFQjCNGbqak1ijf0qgHrDquAnGnY5Dh_oQhttp://www.google.com/url?q=http%3A%2F%2Fwww.eatitnow.co.uk&sa=D&sntz=1&usg=AFQjCNGbqak1ijf0qgHrDquAnGnY5Dh_oQhttp://www.google.com/url?q=http%3A%2F%2Fwww.eatitnow.co.uk&sa=D&sntz=1&usg=AFQjCNGbqak1ijf0qgHrDquAnGnY5Dh_oQhttp://www.google.com/url?q=http%3A%2F%2Fwww.hungryhouse.co.uk&sa=D&sntz=1&usg=AFQjCNEaqkdk9TKefYBFofBXUuA_jkO6rghttp://www.google.com/url?q=http%3A%2F%2Fwww.hungryhouse.co.uk&sa=D&sntz=1&usg=AFQjCNEaqkdk9TKefYBFofBXUuA_jkO6rghttp://www.google.com/url?q=http%3A%2F%2Fwww.hungryhouse.co.uk&sa=D&sntz=1&usg=AFQjCNEaqkdk9TKefYBFofBXUuA_jkO6rghttp://www.google.com/url?q=http%3A%2F%2Fwww.hungryhouse.co.uk&sa=D&sntz=1&usg=AFQjCNEaqkdk9TKefYBFofBXUuA_jkO6rghttp://www.google.com/url?q=http%3A%2F%2Fwww.hungryhouse.co.uk&sa=D&sntz=1&usg=AFQjCNEaqkdk9TKefYBFofBXUuA_jkO6rghttp://www.google.com/url?q=http%3A%2F%2Fwww.hungryhouse.co.uk&sa=D&sntz=1&usg=AFQjCNEaqkdk9TKefYBFofBXUuA_jkO6rghttp://www.google.com/url?q=http%3A%2F%2Fwww.hungryhouse.co.uk&sa=D&sntz=1&usg=AFQjCNEaqkdk9TKefYBFofBXUuA_jkO6rghttp://www.google.com/url?q=http%3A%2F%2Fwww.meal2go.com%2F---good&sa=D&sntz=1&usg=AFQjCNH0pcUcmsP3Ib4zigfoP54VQOzNfQhttp://www.google.com/url?q=http%3A%2F%2Fwww.meal2go.com%2F---good&sa=D&sntz=1&usg=AFQjCNH0pcUcmsP3Ib4zigfoP54VQOzNfQhttp://www.google.com/url?q=http%3A%2F%2Fwww.meal2go.com%2F---good&sa=D&sntz=1&usg=AFQjCNH0pcUcmsP3Ib4zigfoP54VQOzNfQhttp://www.google.com/url?q=http%3A%2F%2Fwww.meal2go.com%2F---good&sa=D&sntz=1&usg=AFQjCNH0pcUcmsP3Ib4zigfoP54VQOzNfQhttp://www.google.com/url?q=http%3A%2F%2Fwww.meal2go.com%2F---good&sa=D&sntz=1&usg=AFQjCNH0pcUcmsP3Ib4zigfoP54VQOzNfQhttp://www.google.com/url?q=http%3A%2F%2Fwww.meal2go.com%2F---good&sa=D&sntz=1&usg=AFQjCNH0pcUcmsP3Ib4zigfoP54VQOzNfQhttp://www.google.com/url?q=http%3A%2F%2Fwww.meal2go.com%2F---good&sa=D&sntz=1&usg=AFQjCNH0pcUcmsP3Ib4zigfoP54VQOzNfQ -
7/31/2019 Food Stop Report
24/153
FoodStop
Rajnikant Ramcharan Sharma (K0171428) Page 24
7.6. Analysis Report
After all the task of analysis phase was completed, the data gathered from the
above activities was used in the next phases. A brief idea about how the task has
to be done was there in mind and it was written in the report and is explained in
brief here:-
There will be Administrator side, Admin will have the rights to add / update
/ delete takeaway and their menu items.
Admin will be able to publish news.
Admin will be able to change password, E-mail ID and Admin Name.
Admin will be able to delete the existing administrators and create new
admin account also. There will be Customer side, Customers can see the list of takeaways
directly or search for the takeaway on the basis of the area code.
Customers will be able to select the takeaway and their required items
from the menu of the takeaway selected, and then they can place the
order.
Customers can pay for the bill either by card via PayPal or cash on
delivery.
-
7/31/2019 Food Stop Report
25/153
FoodStop
Rajnikant Ramcharan Sharma (K0171428) Page 25
8. Design
Designing is the third phase and it comes after analysis phase. In this phase,
activities like designing interface of the website, designing of database takes
place. Different task and activities that were performed in this phase are as
below:
8.1. System
8.1.1. Visual Style
Look and Feel
Look and Feel of the website will be clean and simple. Attractive images, logo will
be used as FoodStop is an Online Food Ordering Website. Dark and Heavy
colours will be avoided as they give the application a dull look. Moreover light
colours which give a good and fine look also liked by both genders will be used.
The main content area of the website will be in white colour and the other parts
will be in sky blue colour. This combination of colour was used because theyinvoke the feeling of calmness in the user.
Background: The background will be white as it is not required to draw attention
there.
Fonts: To increase the readability of the text bold fonts will be used wherever
required.
Images used in the website will be of small size in order to decrease the
downloading time.
Animation will not be used throughout the website as they unnecessary distract
the eyes from the main content.
-
7/31/2019 Food Stop Report
26/153
FoodStop
Rajnikant Ramcharan Sharma (K0171428) Page 26
8.1.2. On Paper Designing
The first step that was taken in this phase was designing the look of website on
paper. The rough sketch of the Home page of the website was drawn on the
paper. Different Menu items that will be needed were decided here. The locationof the Logo and other items were decided. In short, the look of website and
location of different items to be placed was decided.
The design of the Home page as created on paper is shown below. Please see
Appendix G for more designs that were created in this phase. It is not necessary
that the design and the look decided here will remain the same when actual
website is developed. They might change according to the requirement.Home Page
-
7/31/2019 Food Stop Report
27/153
FoodStop
Rajnikant Ramcharan Sharma (K0171428) Page 27
In this phase, basic look of the website was decided and the idea of how many
pages will be required for the entire website was also cleared from analysis
phase and the current activity.
It was cleared that there will be two sides in this website:-
1. Customer Side.
2. Administrator Side.
Customer Side pages will basically deal with the process of searching takeaway,
selecting takeaway ordering food from them, and registering customer.
Administrator Side pages will basically deal with the process of adding /
updating / deleting takeaway and their menu items, making changes to the
administrator account.
8.1.3. Customer Page Designing
Customer side web pages were designed first using the Visual Studio i.e. aspx
pages were created. After all the pages were made they were interlinked to each
other.
The designs of the customer side pages and description of them is given in the
appendix. Please see Appendix H for the Customer Page designs and their
description.
8.1.4. Administrator Page Designing
Admin pages were designed when designing of the customer side pages was
completed. The connection between Customer side and Administrator side wasalso made here. When end-user accesses this site he/she will be able to see the
customer side pages, if the user is supposed to be an admin then admin can go
to Admin menu and login and go to admin side.
The designs of the administrator side pages and description of them is given in
the appendix. Please see Appendix I for the Customer Page designs and their
description.
-
7/31/2019 Food Stop Report
28/153
FoodStop
Rajnikant Ramcharan Sharma (K0171428) Page 28
8.1.5. List of Events
The list of events, task that can be done and response to the events are listed in
the tables below.
Table 2:- Login Requirement
User Login Requirement Rights
Administrator Login required 1) Add/Update/Delete Takeaway.
2) Add/Update/Delete menu Items of
Takeaway.
3) Create new Administrator.
4) Change Password, E-mail ID and
Admin Name of its own.
5) Delete existing Administrator.
6) Admin can recover the password of
Customer and Admin itself.
Customer Login required, if want toplace an order.
1) Can Browse the site.2) Place an order.
3) Registration and Login necessary
for placing the order.
4) Customer can recover password, if
forgot.
-
7/31/2019 Food Stop Report
29/153
FoodStop
Rajnikant Ramcharan Sharma (K0171428) Page 29
Table 3:- Event List
Sr.No Event Task Response
1 Administrator
Login
Go to Administrator
Login page, Enter
Administrator name and
Password.
Click on login button to
enter
Display Administrator Home
page
If ok then redirect to
Administrator Home Page
else keep on same page
and give error.
2 Administrator
add takeaway
Go to add takeaway
page and enter all the
details of the takeaway
then press Add button to
add takeaway.
If all the information's are
filled then transfer
administrator to add menu
page.
3 Administrator
add menu items
1) Create menu items
by filling all the fields.
2) Click on delete link
visible for every menu
item in the grid view.
3) Click on submit
button to add all the
menu items visible in
the GridView to the
takeaway.
Every item added to the
menu will be visible in a
GridView below.
Corresponding menu item
will be Deleted.
Email will be send to all the
existing customers who are
subscribed to receive news
regarding information on
new takeaway.
-
7/31/2019 Food Stop Report
30/153
FoodStop
Rajnikant Ramcharan Sharma (K0171428) Page 30
4 Administrator
updates
takeaway
details and theirmenu items.
Go to update takeaway
page.
Takeaway id of all the
existing takeaways will be
visible in the dropdown list.
Select the takeaway id ofthe takeaway that you want
to update. Update the
details of the takeaway
visible in details view and
grid view after that.
5 Administrator
Add New Menu
Items
Go to Add New Menu
Items page.
Select the takeaway name
from the dropdown list and
enter the respective items
that you want to add and
click on Add button.
6 Administrator
change
Takeaway Logo
Go to Update Takeaway
Logo Page.
Select the name of existing
takeaway available in
dropdown list and then
browse for the logo that you
want update. Click on the
Update Logo to Update that
selected Logo.
7 Administrator
delete takeaway
Go to delete takeaway
page.
List of all the takeaways will
be available in the
GridView. Click on delete
button to delete any
takeaway.
8 Administrator
add new admin
Go to update
administrator account
page and select Create
new admin account
option from the
New administrator will be
created and will be given a
message.
-
7/31/2019 Food Stop Report
31/153
FoodStop
Rajnikant Ramcharan Sharma (K0171428) Page 31
dropdown list and fill all
the fields that gets
visible then Click on
create new admin accbutton.
9 Administrator
change
password of its
own.
Go to update
administrator account
page and select change
password option from
the dropdown list and
enter the existing
password and new
password and click on
Change Password
button.
New password will be set
and a message of
confirmation will be
displayed.
10 Administrator
changes Email-
ID
Go to the Update
administrator account
page and select change
Email-ID option from the
dropdown list, enter new
e-mail ID and click on
Change E-mail ID
button.
E-mail ID will be changed
and new E-mail Id will be
set.
11 Administrator
changes Admin
Name
Go to the Update
administrator account
page and select change
Admin Page option from
the dropdown list, enter
new admin name and
click on Change
AdminName button.
Ne Admin Name will be set
in place of existing.
-
7/31/2019 Food Stop Report
32/153
FoodStop
Rajnikant Ramcharan Sharma (K0171428) Page 32
12 Administrator
deletes admin
account
Go to the delete admin
account and the list of
existing admin will be
available and click ondelete link.
The admin account that you
selected will be deleted.
13 Administrator
generates news
Go to the add news
page and type the news
that you want to
generate and then click
on Generate News
button.
The news generated will be
visible in the GridView
below and will be seen on
the home page.
14 Administrator
deletes news
Go to the add news
page and list of news
will be visible in
GridView, select delete
button.
The news selected will be
deleted from the database.
15 Administrator
edit news
Go to the add news
page and list of news
will be visible in
GridView, select edit
button.
The news selected will be
able to edit and then click
on update button it will be
updated.
16 Administrator
recovers
Customer or
Admin
password itself.
Go to the LoginAdmin
page and click on
Forgot Username or
Password button
Admin will be redirected to
Forgot Details page and
Select type of user from the
dropdown list and enter e-
mail id. The details will be
sent to the e-mail account.
17 Customer
search
takeaway in
Enter area code in
search field on the
search page and click
If the area code is correct
and if any takeaways are
available in that area then
-
7/31/2019 Food Stop Report
33/153
FoodStop
Rajnikant Ramcharan Sharma (K0171428) Page 33
their area on search button. those takeaways will be
listed on that search by area
code page.
18 Customer wants
to see the list of
takeaways
available.
Click on list of
takeaways sub menu
under Takeaway menu
in the menu bar.
All the takeaways available
will be displayed.
19 Customer wants
to order food
from theselected
takeaway
Click on the view menu
link available with every
takeaway menu listed
The page of the selected
takeaway will open with
their menu.
20 Customer
selects the item
from list of
items.
Click on add symbol
button available with
every item.
The menu item selected will
be listed under your order
on takeaway page with total
of all the items.
21 Customer
deletes any item
from the
selected item
Click on minus button
symbol available on the
left hand side of the
every item selected
under your order.
The menu item selected will
be deleted from the order
list.
22 Customer want
to proceeds
further with the
order
Click on the symbol of
arrow with red colour
Customer will be transferred
to the order page
and all the items selected
with total amount will be
visible their also.
23 Customer Login 1) If registered then
Enter all the fields under
login and click on login
1) All the information of the
customer will be displayed
on the same page.
-
7/31/2019 Food Stop Report
34/153
FoodStop
Rajnikant Ramcharan Sharma (K0171428) Page 34
button.
2) If not registered then
click on Not a
Member?? Click here
button.
2) Customer will be
transferred to the customerregistration page and then
after registration customer
will be transferred back to
the order page.
24 Customer edits
the personal
information
when all the personal
information is displayed
after Login.
Customer can click on edit
button and then edit the
personal information
displayed.
25 Customer
recovers
Password and
other details.
On Order page click on
Forgot User name or
Password button, a field
will appear then user will
have to enter the e-mail
id and click on click here
button.
Account details of the
customer will be sent to the
Email-ID
26 Customer pays
for the food
order
select the mode of
payment from drop
down list:- if want to pay
by card
1)Click on PayPal image
button
if want to pay cash then
1) Card: Customer will
receive an invoice to their
mail account and will be
transferred to the
BangaruBabu's PayPal
account where customer
can pay for food via
credit/debit card.
-
7/31/2019 Food Stop Report
35/153
FoodStop
Rajnikant Ramcharan Sharma (K0171428) Page 35
2) click on click here to
place order button.
2)Cash :Customer will
receive an invoice but will
have to pay when delivery
boy comes to deliver thefood
27 Customer gives
feedback
Click on Give us
Feedback sub menu
under Feedback menu
If all the information are
filled correctly then the
customer will be able to
send the feedback else
there will be an error
message.
28 Customer wants
to see the
Facebook page
of FoodStop
website
Click on the Facebook
button on the right- hand
side
Customer will be able to see
the page of FoodStop and
will be able to like, comment
and share it.
8.1.6. Story Board
Administrator Login
-
7/31/2019 Food Stop Report
36/153
FoodStop
Rajnikant Ramcharan Sharma (K0171428) Page 36
Administrator Add Takeaway
Administrator add menu items
-
7/31/2019 Food Stop Report
37/153
FoodStop
Rajnikant Ramcharan Sharma (K0171428) Page 37
Administrator update takeaway details
Administrator update menu items
-
7/31/2019 Food Stop Report
38/153
FoodStop
Rajnikant Ramcharan Sharma (K0171428) Page 38
Administrator delete takeaway
Administrator add new admin
-
7/31/2019 Food Stop Report
39/153
FoodStop
Rajnikant Ramcharan Sharma (K0171428) Page 39
Administrator change password its own.
Administrator Change Admin Name
-
7/31/2019 Food Stop Report
40/153
FoodStop
Rajnikant Ramcharan Sharma (K0171428) Page 40
Administrator Change E-mail ID
Administrator deletes admin account
-
7/31/2019 Food Stop Report
41/153
FoodStop
Rajnikant Ramcharan Sharma (K0171428) Page 41
Administrator generates news
Administrator deletes news
Administrator edit news
-
7/31/2019 Food Stop Report
42/153
FoodStop
Rajnikant Ramcharan Sharma (K0171428) Page 42
Administrator recovers Account Details
Customer search takeaway in their area
-
7/31/2019 Food Stop Report
43/153
FoodStop
Rajnikant Ramcharan Sharma (K0171428) Page 43
Customer wants to see the list of takeaways available
Customer wants to order food from the selected takeaway
Customer selects the item from list of items.
-
7/31/2019 Food Stop Report
44/153
FoodStop
Rajnikant Ramcharan Sharma (K0171428) Page 44
Customer deletes any item from the selected item
Customer want to proceeds further with the order
-
7/31/2019 Food Stop Report
45/153
FoodStop
Rajnikant Ramcharan Sharma (K0171428) Page 45
Customer Login
Customer Recovers Account Details
-
7/31/2019 Food Stop Report
46/153
FoodStop
Rajnikant Ramcharan Sharma (K0171428) Page 46
Customer edits the personal information
Customer pays for the food order
-
7/31/2019 Food Stop Report
47/153
FoodStop
Rajnikant Ramcharan Sharma (K0171428) Page 47
Customer gives feedback
Customer wants to see the Facebook page of FoodStop website
-
7/31/2019 Food Stop Report
48/153
FoodStop
Rajnikant Ramcharan Sharma (K0171428) Page 48
8.2. Database
Database is the one of the most important part of web application in order to
develop a good and success full web application. A good and well designed
Database is necessary. "It is basically a system intended to organize, store, and
retrieve large amount of data easily [14].
A well structured Database consists of necessary Entities, Attributes and Data-
Types of those Entities. A relationship diagram used to represent the relation
between those entities.
8.2.1. Database Design
Database design is a process of producing a detailed data model of a database
[15].
The process of designing a database consists of some specific steps which are
required to be carried out by the database designer in order to develop a good
database. The steps that need to be followed are given below:-
1) Determine what data needs to be stored in the Database.
In this step of the database design, the database designer needs to find out
which data is required to be stored in the Database which data is important and
useful. This process is basically a part of requirement analysis. In this step, all
required information that is needed in the database is stored.
2) Conceptual Design of Database.
Once it is determined that what data is needed to store in the Database. In this
step, the dependencies between various data is determined because sometimes
we need to change one data on the basis of another.
3) Logical Design of Database.
Once dependencies between various information and Data is determined. It's
time to arrange this data into a logical design/structure in this step. As a result of
-
7/31/2019 Food Stop Report
49/153
FoodStop
Rajnikant Ramcharan Sharma (K0171428) Page 49
this step data is stored in storage objects i.e. Data is stored in table which
comprises of rows and columns.
Each table may represent or store information regarding a particular object.
There may be many tables which stores different information regarding same
objects. As a result, relationship between different tables and its object is
determined which helps in preventing the redundant data to be stored in the
database.
4) Physical Design of Database.
In this step, physical database is produced by the database designer in the
storage media like access, SQL, Oracle etc. All the detailed information like
constraint, data type, data elements are specified. Detailed design of the system
is developed at this point of time.
The detailed description of the FoodStop Database is as below:-
8.2.2. Determining Data to be stored
Online Food Ordering Website needs to store information of the Administrator,
Customers and Takeaways. As a result, following data needs to be stored in the
database.
1. Administrator: -Administrator data is needed as Admin will be one who
will be having the rights to add/update/delete Takeaways and their
information.2. Takeaway: - Takeaway Details.
3. Items: - Menu items of the specified Takeaways.
4. News: - News published by the admin.
5. Temporary Data: - Temporary data needed to store for particular order.
6. Order: - Details of the order placed by the customer.
7. Customer: - Details of the customer.
-
7/31/2019 Food Stop Report
50/153
FoodStop
Rajnikant Ramcharan Sharma (K0171428) Page 50
8.2.3. Conceptual Design
Different stages of the conceptual design are as given below:-
1. Identifying the type of Entities.
2. Identifying the Attributes for the Entities.3. Developing the Data Dictionary.
4. UML Diagram.
Entity is basically, a set of information regarding a particular object.
8.2.3.1. Entity Type
In this step, Entity needed for the FoodStop is decided and description of those
entities is explained in short.
Table 4: - List of Entity
Description: - Entities needed in the project
Entity Name Description Occurrence
Administrator Storing information of the
Administrator
When Admin adds new
admin.
Takeaway1 Storing information of the
takeaway
When Admin adds new
takeaway.
Item Storing the menu items
for every takeaway.
When admin adds new
takeaway and then
creates menu item forthat takeaway.
News For storing news, this
news is displayed on the
home page of the
FoodStop.
When admin generates
any news.
-
7/31/2019 Food Stop Report
51/153
FoodStop
Rajnikant Ramcharan Sharma (K0171428) Page 51
TempSum For storing temporary
data of order placed and
for calculating total
amount
When customer selects
items from the menu of
the takeaway
Customer Storing Information of the
customer after
registration.
Customer registers
before placing an order.
OrderDetailsStoring information of theorder placed by the
customer and details of
the customer.
When order is placed bythe customer.
-
7/31/2019 Food Stop Report
52/153
FoodStop
Rajnikant Ramcharan Sharma (K0171428) Page 52
8.2.3.2. Attributes of Entity
In this step, attributes are find out for all the entities from last step .The table
shows the list of all the entities along with their attributes.
Table 5: - List of Attributes
Description: -Attributes of entity.
Entity Attributes
Administrator (AdminName, Password , ConfirmPassword, EmailID)
Takeaway1 (TakeawayID, TakeawayLogo, Name, Address, Area code ,City, OpeningTime, ClosingTime, DeliveryCharge)
Item (ItemID, TakeawayID, ItemType, ItemName, Description,
Amount)
News (NewsID, News)
TempSum (SessionID, TempID, ItemName, ItemDescription,
ItemPrice)
Customer (EmailID, Password, ConfirmPassword, Phoneno, Name ,
Address, Area code , City, Subscription)
OrderDetails (OrderID ,EmailID, CustomerDetails, OrderDetails, Date,
Time, TotalAmount)
-
7/31/2019 Food Stop Report
53/153
FoodStop
Rajnikant Ramcharan Sharma (K0171428) Page 53
8.2.3.3. Data Dictionary
"A data dictionary is an integral part of a database, which holds information about
the database and the data that it stores, i.e., the meta-data" [16].
Data dictionary is one of the most important component of well documented
database. It allows database users, administrators and other who interface the
system an easy access to the type of data that they should except to see in every
table, row and column of the database without actually accessing the database
[17].
A database may be built by and used by multiple users, to make sure that
everyone is aware of the type of data that can be stored and its data type .It also
makes it easy for all the users to understand the database without accessing it.
Components of data dictionary are as given below:-
1. Table Name
2. Field Name
3. Data Type (e.g. int, varchar, datetime)
4. Size
5. Is Null
6. Primary / Foreign Key (Constraints)
7. Description
-
7/31/2019 Food Stop Report
54/153
FoodStop
Rajnikant Ramcharan Sharma (K0171428) Page 54
Table 6: -Administrator
Description: - Storing information of the Administrator
Sr.No Field Name DataType
Size IsNull
Primary/
Foreign
Key
Description
1 AdminName Varchar 25 No PK Name of the
Administrator
2 Password Varchar 25 No Password Set bythe administrator
3 ConfirmPassword Varchar 25 No Confirm Password
Set by the
customer
4 EmailID Varchar 30 No Email-ID of the
admin.
-
7/31/2019 Food Stop Report
55/153
FoodStop
Rajnikant Ramcharan Sharma (K0171428) Page 55
Table 7:-Customer
Description:-Storing Information of the customer after registration.
Sr.No Field Name Data
Type
Size Is
Null
Primary
/Foreign
Key
Description
1 EmailID Varchar 30 No PK Email-ID of the
customer
2 Password Varchar 25 No Password set by
the customer
3 ConfirmPassword Varchar 25 No Confirm Password
set by the customer
4 Phoneno Varchar 15 No Phoneno of the
customer
5 Name Varchar 20 No Name of the
Customer
6 Address Varchar 30 No Address of the
customer
7 Area code Varchar 8 No Area code of the
customer
8 City Varchar 15 No City where the
customer lives.
9 Subscription Varchar 5 No Is customer
subscribed for
receiving e-mail
about new
takeaway or not.
-
7/31/2019 Food Stop Report
56/153
FoodStop
Rajnikant Ramcharan Sharma (K0171428) Page 56
Table 8: - Item
Description: - Storing the menu items for every takeaway.
Sr.No Field Name DataType
Size IsNull
Primary /Foreign
Key
Description
1 ItemID Int 4 No PK Id assigned to every
menu item available
in the takeaway.
2 TakeawayID varchar 25 No Id assigned to everytakeaway.
3 ItemType varchar 20 No Type of menu item
e.g. beverages,
drinks, chicken etc.
4 ItemName varchar 20 No Name of the item
5 Description varchar 80 No Description of the
menu item.
6 Amount Float 8 No Price of the item.
-
7/31/2019 Food Stop Report
57/153
FoodStop
Rajnikant Ramcharan Sharma (K0171428) Page 57
Table 9:-OrderDetails
Description:-Storing information of the order placed by the customer and details
of the customer.
Sr.No Field Name Data
Type
Size Is
Null
Primary
/
Foreign
Key
Description
1 OrderID Int 4 No PK Automatically
generated Id of
every order placed
by customer.
2 EmailID varchar 30 No FK Email-Id of the
customer
3 CustomerDetails Nvarchar MAX No Details of the
customer needed
for sending order to
their home
4 OrderDetails Nvarchar MAX No Details of the order
placed
5 Date varchar 10 No Date when order
was placed
6 Time varchar 5 No Time when order
was placed
7 TotalAmount varchar 8 No Total amount of the
order placed by the
customer.
-
7/31/2019 Food Stop Report
58/153
FoodStop
Rajnikant Ramcharan Sharma (K0171428) Page 58
Table 10:-Takeaway1
Description:-Storing information of the takeaway
Sr.No Field Name Data
Type
Size Is
Null
Primary
/Foreign
Key
Description
1 TakeawayID Varchar 25 No PK Id assigned to the
takeaway
2 TakeawayLogo Varchar 250 No Path of the image
where it is saved.
3 Name Varchar 15 No Name of the
takeaway.
4 Address Varchar 30 No Address of the
takeaway.
5 Area code Varchar 8 No area code of the
takeaway
6 City Varchar 15 No City where area code
is located
7 OpeningTime varchar 8 No Opening time of the
takeaway.
8 ClosingTime Varchar 8 No Closing time of the
takeaway.
9 DeliveryCharge Varchar 2 No Delivery charge taken
by the takeaway if
order is below certain
level.
-
7/31/2019 Food Stop Report
59/153
FoodStop
Rajnikant Ramcharan Sharma (K0171428) Page 59
Table 11: - TempSum
Description: - For storing temporary data of order placed and for calculating total
amount (information displayed under your order section on Takeaway Page).
Sr.No Field Name Data
Type
Size Is
Null
Primary /
Foreign
Key
Description
1 SessionID Varchar 50 No SessionID
generated
automatically to
identify the user.
2 TempID Varchar 20 No PK Temporary Id
assigned to the
order placed.
3 ItemName Varchar 20 No Name of the item
placed.
4 ItemDescription Varchar 30 No Description of the
item.
5 ItemPrice Float 8 No Price of the item.
-
7/31/2019 Food Stop Report
60/153
FoodStop
Rajnikant Ramcharan Sharma (K0171428) Page 60
Table 12: - News
Description: - For storing news, this news is displayed on the home page of the
FoodStop.
Sr.No Field
Name
Data
Type
Size Is
Null
Primary
/
Foreign
Key
Description
1 NewsID Int 4 No PK ID assigned to the
news
2 News Nvarchar MAX No News entered by the
administrator.
-
7/31/2019 Food Stop Report
61/153
FoodStop
Rajnikant Ramcharan Sharma (K0171428) Page 61
8.2.3.4. UML Diagram
Relationship between Customer and Order table: -A customer can place one
or many order while one order belongs to one and only one customer.
Relationship between Order and Item table: - A single order consist of one or
many items while same item belongs to one and only one order.
-
7/31/2019 Food Stop Report
62/153
FoodStop
Rajnikant Ramcharan Sharma (K0171428) Page 62
Relationship between Item and Takeaway table:- On same time order(i.e.
items) can be placed from one and only one takeaway while takeaway do have
zero or many items.
A customer can place one or many order while customer can place order from
one particular takeaway at a time. Customer can place order from another
takeaway also later on. Moreover, Customer will be having list of items to select
from.
8.2.4. Logical Design
Logical Design ensures that data is tested for the relationship and testing is done
to find out whether data is correct or not. In this phase, all the tables are checked
to see whether they are normalized or not. Data of the database is normalized in
this phase and is made ready for its physical design. The description of it is
shown below.
Table 13: - Logical Design of Database
Entity Name Attribute Name Constraint
Administrator AdminName Primary Key
Password
ConfirmPassword
EmailID
Takeaway1 TakeawayID Primary Key
TakeawayLogo
Name
Address
Area code
-
7/31/2019 Food Stop Report
63/153
FoodStop
Rajnikant Ramcharan Sharma (K0171428) Page 63
City
OpeningTime
ClosingTime
DeliveryCharge
Item ItemID Primary Key
TakeawayID Foreign Key
ItemType
ItemName
Description
Amount
OrderDetails OrderID Primary Key
EmailID Foreign Key
Customer Details
Order Details
Date
Time
TotalAmount
Customer EmailID Primary Key
Password
ConfirmPassword
Phoneno
-
7/31/2019 Food Stop Report
64/153
FoodStop
Rajnikant Ramcharan Sharma (K0171428) Page 64
Name
Address
Area code
City
TempSum SessionID
TempID Primary Key
ItemName
ItemDescription
ItemPrice
News NewsID Primary Key
News
* The Logical design of the Database should be made as shown in the above
table .This makes the database fall in 3rd Normalized state. But the Database
was kept in its 1st Normalized State; the reason behind this was to keep the
Details of the order placed from any takeaway preserved even if any takeaway is
deleted later on. This Order details can be used in many types of survey and in
giving the regular customer discounts. Moreover, data redundancy is avoided and
no data is repeated.
-
7/31/2019 Food Stop Report
65/153
FoodStop
Rajnikant Ramcharan Sharma (K0171428) Page 65
8.2.5. Physical Design
Data in different table is mentioned in the above table. Physical database is the
important part of the database section and needs to be created. SQL Server
2008 was used in the back-end. For e.g. Table for Takeaway1 is shown belowsimilarly tables for Administrator, Customer, Item, News, OrderDetails and
TempSum were also created. Please see the Appendix J for remaining Physical
Designs of other tables.
-
7/31/2019 Food Stop Report
66/153
FoodStop
Rajnikant Ramcharan Sharma (K0171428) Page 66
8.3. Case study diagram
8.3.1. Flowchart
-
7/31/2019 Food Stop Report
67/153
FoodStop
Rajnikant Ramcharan Sharma (K0171428) Page 67
8.3.2. Context Diagram
The context diagram shown below shows the relationship between the system
i.e. FoodStop and its actors .The actors of the current system are Customers and
Administrators. The process associated between Customer - FoodStop andAdministrator - FoodStop can be clearly understood from this diagram.
-
7/31/2019 Food Stop Report
68/153
FoodStop
Rajnikant Ramcharan Sharma (K0171428) Page 68
9. Implementation
The implementation was divided into 9 different parts:-
1. Implementation of the Environment.
2. Implementation of Application.
3. Use of the Tools / Controls.
4. Implementation of Database.
5. Implementation of Coding.
6. Integration of Menu Bar.
7. Implementation of Asp.Net E-mail functionality.
8. Integration of PayPal Feature.
9. Integration of Facebook Page.
9.1. Implementation of the Environment
The Visual Studio 2010 Ultimate was implemented on a Laptop running on
Windows 7 operating System. There was no incompatibility issue in installing this
application.
The system that was needed to develop being Web based, Asp.NET was
selected for front end as it easier to use and provides a good environment with
lots of features that can be used and also supports multiple languages. In the
back end, SQL Server 2008 was used the inbuilt database that comes with Visual
Studio and also best suited for the project requirement.
-
7/31/2019 Food Stop Report
69/153
FoodStop
Rajnikant Ramcharan Sharma (K0171428) Page 69
9.2. Implementation of the Application
Asp.NET
Asp.NET is a web application framework developed and marketed by Microsoft
to allow programmers to build dynamic websites, web applications and web
services [18].
Web Form i.e. web pages were designed using ASP (Active Server Pages) and
C# language was used for executing/Coding purpose. C# is general-purpose,
simple, and modern and object oriented programming language
Moreover, Asp.Net has many in-built libraries with-in it which makes it easy in
developing and building any type of complex applications.
JavaScript
JavaScript is a lightweight, object-oriented language mostly known as scriptinglanguage" [19].
In FoodStop, JavaScript is used in creation of the menu bar and in giving the
phone number validation on Customer Registration Page.
CSS
CSS stands for cascading style sheet and is basically used for controlling the
style and layout of the multiple web pages all at once [20].
In FoodStop, CSS is used only for styling the menu bar i.e. for setting different
style properties of the menu bar.
-
7/31/2019 Food Stop Report
70/153
FoodStop
Rajnikant Ramcharan Sharma (K0171428) Page 70
9.3. Use of the Tools / Controls
The different tools that were used for the creation of the web pages and their
uses in the FoodStop is explained in short in Appendix K.
Please refer Appendix K to know more about tools and controls:-
9.4. Implementation of the Database
It was easy to implement the database as the designing of the data was already
completed. The data present in different tables is easily accessible. SQL Server
2008 was used in the back end for performing this task.
9.5. Implementation of the Coding
It was very easy to do the coding after the Interface design and Database design
was done properly. The thing that was left for doing was connecting the Interface,
Database and do the processing that was needed.
All the important coding of website with explanation of every important step can
be seen in Appendix L. Some of the important and key processes implemented
are explained below. Moreover, please refer Appendix L for coding.
Decreasing size of Image stored:- When image of the Takeaway Logos
is uploaded they are resized to the size of 100 * 100 pixels before
uploading them in the folder, so that they dont consume more space on
server and also helps in decreasing the downloading time of website.
Moreover, Images are not stored in the database instead of it path of those
image is stored in database [21].
Generating News: - Admin can edit, update and delete the news. This
news are stored in the database and later displayed on the main page of
FoodStop i.e. Search Page.
Searching Takeaway by Area code: - Customers can search for the
takeaway in their area using 3-4 digits Area code. If any takeaway will be
available in that area then it will be displayed.
-
7/31/2019 Food Stop Report
71/153
FoodStop
Rajnikant Ramcharan Sharma (K0171428) Page 71
List of Takeaways: - Listing all the takeaways in two vertical rows was a
difficult task to do but later on they were arranged in two repeaters using
two different queries. If result of (TakeawayID % 2)! =0 then takeaway
were displayed in one repeater else in another.
Session Management: - One of the most important part of any E-
commerce website is managing the sessions state. This task was done by
the use of SessionID the inbuilt functionality of ASP.NET [22].
Data Security: - Data passed in the query string and password of the
customer and administrator is encrypted while storing and decrypted when
that data needs to be used [23].
Account Details Recovery:- If Customer or Admin forgets user id or
password details , they can click on Forgot Username or Password button
available on the Login page and then they will have to just enter the e-mail
id to receive their account details to respective e-mail account.
Subscription: - Customers are asked whether they want to subscribe for
receiving e-mails when new takeaway is added. All the existing customers
who subscribe for it will receive e-mail when new takeaway is added to
FoodStop.
Phone number validation: - Customers can only enter 11 digits in the
Phone number field. JavaScript code was used to give this validation [24].
Steps taken while coding:-
1. Naming conventions were used throughout the project for representing
every control. For e.g. Name label was represented as lblName, TextBox
for Name was represented as txtName. This made the task of coding more
easy.
2. Commenting was done throughout the project note only in the coding
section but also in the design section.
3. Lots of spacing was used between different codes so that one code dont
get mix up with the another one.
-
7/31/2019 Food Stop Report
72/153
FoodStop
Rajnikant Ramcharan Sharma (K0171428) Page 72
9.6. Implement Access for different Types of User
In FoodStop, there are two types of user Customers and Administrators.
Customers: - Customers have rights and can access the pages related to
placing an order like Search, List of takeaway, Takeaway and Registration pages.
Administrators: - Administrator can access all the pages of the website.
Moreover admin have rights to add/update/delete takeaway and their menu
items, Admin can add new admin, delete existing admin, change password,
change admin name and change Email-ID, and Admin can also publish news.
Customer and Admin both have rights to recover their account details.
9.7. Integration of Menu Bar
The Menu Bar that is used in the FoodStop is actually taken from one website
and was modified according to the requirement of the FoodStop and was
implemented successfully [25].
9.8. Implementa