Chapter 1: Organization Detail
1.1 Company Details
Inferno Solution is providing solutions on Linux, VOIP, VPN, cloud services. It having rights to dealing developing an interactive kiosk to getting everything is on finger tips over mobiles and laptops and kiosk is coming future.
1.2 Company Objective
ï Add on value to the current existing system leading to increase in visibility, revenue and sales
ï Reduction in cost and increase in productivity leading to automation.
ï Inferno solution may also provides the kiosk developing along with internet marketing and e-books.
ï Integration of technology allows kiosk to perform a wide range of function, evolving into self-service kiosks.
ï The first true documentation of a kiosk was the 1995 reported by Los Alamos National Laboratory. Mostly kiosk will developed for getting more reliability, more knowledge or education and demonstrations for successful self-service deployments.
ï An interactive kiosk is a computer terminal featuring specialized hardware and software designed within a public exhibit that provides access to information and application for communication, commerce, entertainment, and education.
ï Kiosk is also used while sitting on a bench or chair.
ï Interactive kiosk are typically placed in high foot traffic setting such as restaurant or hotel lobbies or airport.
By their nature, interactive kiosk require robust and secure hardware and software to ensure a consistent user experience and prevent unauthorized modification.
1.3 Brief History
Inferno Solution is a registered partnership firm in 2002 providing solution on LINUX, VOIP(Asterisk),VPN, cloud services(Amazon), Embedded (uclinux/arm development/Raspberry pi), kiosk development along with internet marketing (SEO ,PPC, Affiliate Marketing ) and e-books.
The main aim of INFERNO SOLUTIONS is ” to work on open source technology and benefiting clients with diversified solutions.
Chapter 2 : Project Definition
2.1 Project Definition
In today’s time restaurants are everywhere, demand of food is everywhere which at times leads to waiting and appointments. The concept of this project is to develop interactive kiosk to increase visibility and providing add on to restaurants to get the ordering done at busy stations and also in house.
The project is titled “Restaurant Ordering System over Interactive Kiosk”. This project will provide an ease of use to customers as well as the restaurant owners to easily place and take orders respectively.
The Restaurant Ordering System over Interactive Kiosk provides a simplified and easy to use platform to order food in restaurants. This looks at the problem of setting up a fast food restaurant. The basic problem in the food service industry is that restaurants are not realizing efficiencies that would result from better applications of technology in their daily operations. Every fast food has counter where you can place your order and then make the payment. So every fast food needs an employee for taking the order and processing the payment. Labour rates are increasing every now and then and it is difficult to find employees in the middle of the highway, hence to solve this problem we plan to design a “Self Served Fast Food System.”
This self service fast food restaurant will be equipped with a user friendly touch screen, and software for completing the process at the backend. For this system there will be a system administrator who will have the rights to enter the menu with their current prevailing prices. He/she can enter anytime in the system by a secured system password to change the menu contents by adding or deleting an item or changing its price.
The model used to develop this system is Incremental Model. The languages used are PHP on the front end and MySQL in the backend. Furthermore this system will be embedded on a Raspberry Pi, which is a SoC (System on a Chip) device which would be integrated with a touch screen device to constitute a kiosk.
2.3 Purpose And Objectives
Nowadays in the technologically revolutionalized world it is necessary to keep up with the technology used. Many thing are now possible within a few clicks whether it be on our smartphones or computers. So the main purpose of this system is bring the food ordering process in the restaurants on fingertips. This will be done using touch screen kiosk which will be an integration of a Raspberry Pi, a touch screen device and the app embedded on it. This system will help to produce more accurate orders and bills with better customer satisfaction.
The objectives of the restaurant ordering system over interactive kiosk are as follows :
â¢ To introduce a new way of ordering food which is simple and easy to use.
â¢ To generate more accurate ordering and bills.
â¢ To eliminate unforced errors while taking orders and serving.
â¢ Add on value to the existing system to increase revenue and sales.
2.4 Module Description and Process Logic
1) Learning Linux & Raspberry Pi basics
2) Implementation & Configuration of Apache Web Server.
3) Development of Web Portal for Restaurant Ordering System
â¢ Home Page includes About Us (About Restaurant), E-Menus (Meals, Desserts, Drinks) & Feedback, Join Us.
â¢ E-Menus would have different varieties of deserts and meals to order.
â¢ Payment Page with Debit/Credit Cards, Online Banking.
4) After development of static pages moving forward with database connectivity with MySQL.
â¢ Restaurant Database includes billing & payment history for the accounts.
5) Porting the entire web portal on Raspberry Pi.
6) Testing of the entire Application.
Chapter 3: Project Planning
3.1 Scope of the system
With the increasing need of automation in every field it becomes necessary to offer customer with an advance experience with satisfaction in restaurants. In current formal dining environment, large number of restaurant offers static menu i.e. paper menu card to convey available food items and waiters delivers order to kitchen staff.
There is major scope in enhancing visual experience by replacing paper menu card with electronic menu card. To avoid delay in order, wireless communication can be used to replace waiter who manually deliver order to kitchen. Currently due to increased literacy, awareness of advance technology among people, they are crazy about latest technology and are eager to automate their routine tasks. So introducing new technology and approach in conventional food ordering system will lead to improved experience of customer.
3.2 Software Process Model
A software process model is a simplified description of a software process which is presented from a particular perspective. Models, by their very nature, are simplifications so a software process model is an abstraction of the actual process which is being described. Process models may include activities which are part of the software process, software products and the roles of people involved in software engineering. A process model is a development strategy that is used to achieve a goal that satisfies the requirements abiding by the constraints.
This software process model for the development was Incremental model
What is Incremental model
In incremental model the whole requirement is divided into various builds. Multiple development cycles take place here, making the life cycle a “multi-waterfall” cycle. Cycles are divided up into smaller, more easily managed modules. Each module passes through the requirements, design, implementation and testing phases. A working version of software is produced during the first module, so you have working software early on during the software life cycle. Each subsequent release of the module adds function to the previous release. The process continues till the complete system is achieved.
Figure 3.2 Incremental Model
When to use Incremental Model
ï,§ This model can be used when the requirements of the complete system are clearly defined and understood.
ï,§ Major requirements must be defined; however, some details can evolve with time.
ï,§ There is a need to get a product to the market early.
ï,§ A new technology is being used
ï,§ Resources with needed skill set are not available
ï,§ There are some high risk features and goals.
Advantages of Incremental Model
ï,§ Generates working software quickly and early during the software life cycle.
ï,§ This model is more flexible â” less costly to change scope and requirements.
ï,§ It is easier to test and debug during a smaller iteration.
ï,§ In this model customer can respond to each built.
ï,§ Lowers initial delivery cost.
ï,§ Easier to manage risk because risky pieces are identified and handled during itâd iteration.
Disadvantages of Incremental Model
ï,§ Needs good planning and design.
ï,§ Needs a clear and complete definition of the whole system before it can be broken down and built incrementally.
ï,§ Total cost is higher than waterfall.
3.3 Project Team Organization
There are 3 types of approaches for team organization:-
1) Controlled Centralized (CC)
2) Controlled Decentralized (CD)
3) Democratic Decentralized (DD)
We have used the Democratic Decentralized team organization.
There is no permanent leader in our team. Instead Task coordinators are assigned that heads the completion of a particular task. As the task switches the task leader may switch. Decision on problems and approach are made by group consensus. Communication among the team members is horizontal. We all have equally contributed all the project work through mutual understanding to obtain the desired results in each phase of the project. Distribution of work in various fields makes it easier to develop the project as a whole. Integrating this approach with the Iterative Model reduces extra workload and final integration approach of our three systems becomes easier.
Hence we are using Democratic Decentralized (DD) organization. Following are our team members.
Sr. No Team Member Enrollment Number
1 Nihar Shah 120410116006
2 Abhishek Punjabi 120410116020
3 Ripal Mehta 120410116026
4 Hinal Amin 130413116003
Table 3.1 : Team Organization
3.4 Frontend & Backend
Frontend PHP, HTML5, CSS3, Bootstrap,JQuery
Diagram designing tools Microsoft Office Visio 2013
OS – Platform Linux CentOS 5
Hardware Raspberry Pi, Kiosk terminals, Touch Screen Device
Web Servers Apache 2.0
Environment Virtualization (VMware)
Tools Adobe Dreamweaver
Table 3.2 : Tools and Technology
3.5 Project Schedule Chart
Figure 3.5 Project Schedule Chart
Chapter 4 â” System Analysis
4.1 Literature Survey
In the restaurant business, “presentation is half of the experience!ââ. Traditional paper menu cards are over all expensive, monotonous, difficult to maintain and over the period of time it lose its âworthy appearanceâ. It is tedious to update paper menus with new prices, dishes and ingredients therefore to challenge all such obstacle and to enhance restaurantâs guest experience and exquisiteness of the establishment Touchscreen Based electronic menu card is proposed. The other dimension to propose this new system is to reduce need of excess manpower and to eliminate excess time spend on giving manual order through waiter. The main focus is on increasing the usability and user friendliness of menu card with its simple navigation using GLCD and touch screen. The order can be placed by simply touching the available food menus. This automated menu card system gains many advantages over traditional menu ordering system.
Other Available Ordering System
Starting from the time when it was realised that hospitality, service and presentation have great impact on restaurant business transactions, many new ordering and serving scheme has been proposed up till now. These menu ordering techniques are as follows â”
â¢ Paper based menu card
â¢ Self service food ordering KIOSK technology
â¢ Computerized ordering system
Paper Based Menu Card The existing system is paper based. This system is used mostly in restaurants. In this, menu cards offered to customers in restaurant are made of Paper, hard board. Waiters use notepad to write the order of customers. The records are stored on paper. The working approach of this system is simple. Every time customer visits restaurant, occupy his table and selects his menu from available menu on paper menu card. When waiter arrives, he notes down order of customer in his notepad.
As with anything paper based, it is so easy for things to get damaged by water due to mishandling, or paper being lost due to fire or accidents or just generally lost. There is wastage of time, money, and paper. As menu card is made up of paper, if restaurant management wants to update menu list or prices, it leads to wastage of paper and it will require reprinting of all the menu cards. Also, in many cases for small change to be made in menu card it is not convenient to print all menu cards again. Simply saying that menu card once printed canât be changed. Moreover, after some days the menu card lost its worthy look. From the customerâs point of view, this system is time consuming. As, one has to wait until the waiter comes to take the order, one has to call waiter number of times till he notices it, there can be misinterpretation while the waiter is writing your order on paper, and it might be possible that you are served with a wrong dish.
Self Service Food Ordering KIOSK Technology In this technology, kiosk is free standing counter which is similar to self check out. It displays all menus including food items available and the payment mode. Whenever, customer visits the restaurant he/she would navigate through the menu present on KIOSK display and select the food item available from list then pays the bill with available payment options. The customer will be given an order number. The order will be automatically routed to kitchen with physical connection. When the order is completed, order number is announced and displayed on screen then customer have to pick their food item from respective counter. This system is mainly useful in fast-food restaurants as it saves time. Customers donât have to wait for waiter to take order. But in perspective of hospitality, this system is not proves itself worth. Imagine a customer visits restaurant with his family for dinner and have to pick his food from counter not even able to have a talk with his family. Person will have to wait for his order number to be announced and not able to concentrate in conversation. This is the biggest disadvantage of this system. Another thing is that during rush hour, customers will be queued for placing their orders. This doesnât seem comfortable even though it decreases order processing time.
4.2 Feasibility Study
A feasibility study assesses the operational, technical and economic merits of the proposed project. Feasibility study analyses and evaluates the potential of a project based on the investigation and research. Objective of feasibility study is to uncover strengths and weaknesses of an existing business or project, opportunities and threats present in the environment, the resources required to carry through, and ultimately the prospects for success. Two criteria to judge feasibility are cost required and value to be attained.
The various feasibility studies are as follows:
4.2.1 Technical Feasibility
A large part of determining resources has to do with assessing technical feasibility. It considers the technical requirements of the proposed project. The technical requirements are then compared to the technical capability of the company. The system is considered technically feasible if the internal technical capability is sufficient to support the project requirements. It is an evaluation of the hardware and software and how it meets the need of the proposed system.
The technical needs of the system may vary considerably, but might include:
â¢ The facility to produce output in a given period of time.
â¢ Response time under certain conditions.
â¢ Ability to process a certain volume at a particular speed.
4.2.2 Operational Feasibility
It means that a proposed system will be used effectively after it has been developed. Proposed system is helpful for the customer. It will allow them to query them to get the appropriate and adequate information and access out different required material successfully.
On studying the operational feasibility of the project, the following conclusions could be derived:
â¢ It will provide advantageous and reliable services.
â¢ If it can be installed within suitable environment, system will do operations under environment of limited resources.
Thus, it is operationally feasible to develop the proposed system
4.2.3 Financial and Economic Feasibility
A website product needs to be a good investment for the makers and organization. Financial benefits must equal or exceed the costs. We are examining the Costs of Other Multilevel system before and after installation of the System. Also as for development cost we have sufficient programming Tools and knowledge base available.
4.2.4 Schedule Feasibility
Assessing schedule feasibility is to assess the duration of the project whether it is too long to be complete before it is useful. System analysts have to estimate how long the system will take to develop, and whether all potential timeframes and the completion date schedules can be met, as well as whether meeting these date will sufficient for dealing with the needs of the company. Schedule feasibility is a measure of how reasonable the project timetable is.
4.3 System Requirement Engineering
4.3.1 Requirement Analysis
Requirements analysis in system engineering and software engineering encompasses those tasks that go into determining the needs or conditions to meet for a new or altered product, taking account of the possibly conflicting requirements of various analyzing, documenting, validating and managing software or system requirements.
Requirements analysis is critical to the success of a systems or software project. The requirements should be documented, actionable, measurable, testable, traceable, related to Restaurant Koisk.
4.3.2 Requirements Specifications
188.8.131.52 Functional Requirements
1) Content Management
Contents are the most attractive feature of the system and are needed to be managed either by employee or administrator. This also empowers user with a privilege to share anything they think can be useful to other customer. This also includes the review or approval of the content shared by the user by doctor or administrator. This also includes its management that is removing undesired thing by the time.
This is about creation of every type of user and every entity of system including creation of appointment and this also includes editing in the details of that entity and even allows removing them as and when it becomes useless. This module considers the function that helps to maintain the system and manage them in better way.
The major part of the maintenance includes profile management, user management and department management. Profile management allows customer to have their customized things in their profile. Another the remaining major operation is user management which is as per the name allows creation and management of user inside the system.
184.108.40.206 Non-Functional Requirements
â¢ The interface shall be easy to use and user friendly for the end user.
â¢ The system shall support smooth communication between the employees and the Patients.
â¢ The system shall be capable of restoring itself to its previous state in event of failure.
Moreover, the other non-functional requirements are listed as below:
The performance requirements of this system shall not be very critical. The system shall perform efficiently at the mentioned minimum requirements.
The System is absolutely safe to use. Its usage will not provide any damage or any type of loss to the systems already in use. Also the security model is prepared regarding the safety of Database so that data is not lost in case of any damage to the system.
Security of the system shall definitely be maintained through the password system. The system is divided in the three security module concern. These are administrator, employees and Patients. Each and every employee of every department will be authenticated with a login ID and password .Any employee cannot change the system date.
4.3.3 Software Quality Constraints
The system must recover to a restore point or check point for any hardware or power failure. There should not be any loss of data in case of software failure.
The system must be flexible to manage the load of any no. of users at any point of time and also must be flexible enough to adapt to the changing requirements.
System must be developed such that it is user friendly and the user can easily understand the functions of the system and navigate through the system easily.
The system being developed must be upgradable as and when the requirements change.
Chapter 5- System Design
5.1 Design Principles
The software design model is the equivalent of an architectâs plans for a house. It begins by representing the totality of the thing to be built and slowly refines the thing to provide guidance for constructing each detail. Similarly, the design model that is created for software provides a variety of different views of the system. Yet all embrace a set of design principles that can be applied regardless of the method that is used.
Principle 1: Design should be traceable to the analysis model.
The analysis model describes the information domain of the problems. User visible functions, system behavior, and a set of analysis classes that package business objects with the methods that service them. The design model translates this information into architecture: a set of subsystems that implement major function, and a set of component-level design that are the realization of analysis classes.
Principle 2: Always consider the architecture of the system to be built.
Software architecture is the skeleton of the system to be built. If affects interfaces, data structure, program control flow and behavior, the manner in which testing can be conducted, the maintainability of the resultant system, and much more. For all of these reasons, design should start with architectural considerations. Only after the architecture has been established should component-level issues be considered.
Principle 3: Design of data is an important as design of processing function.
Data design is an essential element of architectural design. The manner in which data objects are realized within the design cannot be left to chance. A well-structured data design helps to simplify program flow, makes the design and implantation of software components easier, and makes overall processing more efficient.
Principle 4: Interfaces (both internal and external) must be designed with care.
The manner in which data flows between the components of a system has much to do with processing efficiency, error propagation, and design simplicity. A well-designed interface makes integration easier and assists the tester in validating component function.
Principle 5: User interfaces design should be tuned to the need of the end-user.
However, in every case, it should stress ease of use. The user interface is the visible manifestation of the software. No matter how sophisticated its internal function, no matter how comprehensive its data structure, no matter how well designed its architecture, a poor interface design often leads to the perception that the software is “bad”.
Principle 6: Component-level design should be functionally independent.
Functional Independence is a measure of the “single-mindedness” of software components. The functionally that is delivered by a component should be cohesive â” that is, it should focus on one and only one function or sub functions.
Principle 7: Components should be loosely coupled to one another and to the external environment.
Telemedicine App for E-patient care with Kiosk, Digital Signage & Mobile VPN Coupling is achieved in many ways â” via a component interface, by messaging, through global data. As the level of coupling increase, the like hood or error propagation also increases and the overall maintainability of the software decrease. Therefore, component coupling should be kept as low as is reasonable.
Principle 8: Design representation (Models) should be easily understandable.
The purpose of design is to communicate information to practitioners who will generate code, to those who will test the software in the future, If the design is difficult to understand, it will not serve as an effective communication medium.
Principle 9: The design should be developed iteratively. With each iteration, the designer should strive for greater simplicity.
Like almost all creative activities, design occurs iteratively. The first iteration work to refine the design and correct errors, but later iterations should strive to make the design as simple as is possible.
5.2 Entity-Relationship Diagram:-
Restaurant Ordering E-R Diagram
Figure 5.2 : E-R Diagram For Restaurant Ordering Over Interactive Kiosk
5.3 Class Diagram:-
Restaurant Ordering Class Diagram:
Figure 5.3 : Class Diagram For Restaurant Ordering Over Interactive Kiosk
5.4 Use-Case Diagram :
Customer Register Use Case Diagram
Figure 5.4.1 : Use Case Customer Registration
Restaurant Ordering Use Case Diagram
Figure 5.4.2 : Use Case For Self Service Restaurant Ordering
5.5 Sequence Diagram :
Self Service Ordering System Sequence Diagram
Figure 5.5.1 : Sequence Diagram For Self Service Restaurant Ordering
Bill Payment Sequence Diagram
Figure 5.5.2 : Sequence Diagram For Bill Payment
5.6 Activity Diagram :
Food Ordering Activity Diagram
Figure 5.6.1 : Activity Diagram for Food Ordering
Bill Payment Activity Diagram
Figure 5.6.2: Activity Diagram For Cash Payment
Update Menu Activity Diagram
Figure 5.6.3 : Activity Diagram for Update Menu
Chapter 6 â” Screen Layouts or User Manual
6.1 Screen Shots :
Figure : 6.1.1 Home Page Of Linux CentOS 5 :
Figure : 6.1.2 Overview of Basic Commands-1
Figure:6.1.3 Overview of Basic Commands-2
Figure:6.1.4 IP of Linux
Figure:6.1.5 IP of Windows
Figure:6.1.6 Ports and Services in Linux
Figure:6.1.7 FTP Server-1
Figure:6.1.8 FTP Server-2
Figure:6.1.9 Samba Server-File Sharing-1
Figure:6.1.10 Samba Server-File Sharing-2
Figure:6.1.11 Samba Server-File Sharing-3
Figure:6.1.12 Samba Server-File Sharing-4
Figure:6.1.13 Web Server-HTTPD Service-1
Figure:6.1.14 Web Server-HTTPD Service-2
Figure:6.1.15 Web Server-HTTPD Service-3
Figure:6.1.17 Proxy Servers and Content Filtering-1
Figure:6.1.18 Proxy Servers and Content Filtering-2
Figure:6.1.19 Proxy Servers and Content Filtering-3
Figure:6.1.20 Proxy Servers and Content Filtering-4
Figure:6.1.21 Checking the logs
Figure:6.1.22 Database Creation-1
Figure:6.1.23 Database Creation-2
Figure:6.1.24 Block a User-1
Figure:6.1.25 Block a User-2
Figure:6.1.26 Block a User-3
Figure:6.1.27 Block a User-4
6.1.28 Home Page
Figure 6.1.29 : Log-in Page
6.2.1 Testing Plan
Testing Planning involves how to plan testing before we are going to start making test suite .First step of testing is to test the System Module by Module that is once the module has been completed we test the module.
Then in second step I have tested all the modules by merging them one by one that are first module is checked then second module is merged with that module and both modules are checked together.
For this I have used both white box testing and black box testing. In white box testing structural testing is done so all the modules are tested one by one and finally when the project is completed black box testing is used to test the whole system together.
6.2.2 Testing Strategy
Testing begins “in the small” and progresses “to the large”. Initially individual components are tested using white box and black box techniques. After the individual components have been tested and added to the system, integration testing takes place. Once the full software product is completed, system testing is performed. The Test Specification Telemedicine App for E-patient care with Kiosk, Digital Signage & Mobile VPN document should be reviewed like all other software engineering work products. A sample Test Specification document appears on the SEPA web site.
Strategic Approach to Software Testing
â¢ Testing begins at the component level and works outward toward the integration of the entire computer-based system.
â¢ Different testing techniques are appropriate at different points in time.
â¢ The developer of the software conducts testing and may be assisted by independent test groups for large projects.
â¢ The role of the independent tester is to remove the conflict of interest inherent when the builder is testing his or her own product.
â¢ Testing and debugging are different activities.
â¢ Debugging must be accommodated in any testing strategy.
Strategic Testing Issues
â¢ Specify product requirements in a quantifiable manner before testing starts.
â¢ Specify testing objectives explicitly.
â¢ Identify the user classes of the software and develop a profile for each.
â¢ Develop a test plan that emphasizes rapid cycle testing.
â¢ Build robust software that is designed to test itself (e.g. uses anti-bugging).
â¢ Use effective formal reviews as a filter prior to testing.
â¢ Conduct formal technical reviews to assess the test strategy and test cases.
â¢ Black box and white box testing.
â¢ Module interfaces are tested for proper information flow.
â¢ Local data are examined to ensure that integrity is maintained.
â¢ Boundary conditions are tested.
â¢ Basis path testing should be used.
â¢ All error handling paths should be tested.
â¢ Drivers and/or stubs need to be developed to test incomplete software.
Top-down integration testing
â¢ Main control module used as a test driver and stubs are substitutes for components directly subordinate to it.
â¢ Subordinate stubs are replaced one at a time with real components (following the depth-first or breadth-first approach).
â¢ Tests are conducted as each component is integrated.
â¢ On completion of each set of tests and other stub is replaced with a real component.
Regression testing may be used to ensure that new errors not introduced.
Bottom-up integration testing
â¢ Low level components are combined in clusters that perform a specific software function.
â¢ A driver (control program) is written to coordinate test case input and output.
â¢ The cluster is tested.
â¢ Drivers are removed and clusters are combined moving upward in the program structure.
6.3 Test case:
SR NO. LABEL DESCRIPTION EXPECTED RESULT ACTUAL RESULT
1 Password When password is correct after the system is logged on Message will be generated “enter valid password” Test is successfully completed
2 Name Unique field provided to admin Authentication Test is successfully completed
3 Email For authentication purpose unique email of admin Authentication Test is successfully completed
Sr No. Label Description Expected Result Actual Result
1 Logging Out Of the system An option of log out will be available on all the pages An admin or user can logout from the system as per their will and desire True
Chapter 7: Technology
7.1 System Coding
History Of PHP
Originally created by Rasmus Lerdorf in 1994, the reference implementation of PHP (powered by the Zend Engine) is now produced by The PHP Group. While PHP originally stood for Personal Home Page, it now stands for PHP: Hypertext Preprocessor, which is a recursive backronym.
PHP code can be simply mixed with HTML code, or it can be used in combination with various templating engines and web frameworks. PHP code is usually processed by a PHP interpreter, which is usually implemented as a web server’s native module or a Common Gateway Interface (CGI) executable. After the PHP code is interpreted and executed, the web server sends the resulting output to its client, usually in the form of a part of the generated web page; for example, PHP code can generate a web page’s HTML code, an image, or some other data. PHP has also evolved to include a command-line interface (CLI) capability and can be used in standalone graphical applications.
The standard PHP interpreter, powered by the Zend Engine, is free software released under the PHP License. PHP has been widely ported and can be deployed on most web servers on almost every operating system and platform, free of charge.
Advantage of PHP
â¢ FREE OF COST
â¢ PLATFORM INDEPENDENT
â¢ SUPPORTS ALL MAJOR WEB SERVERS
â¢ SUPPORTS ALL MAJOR DATABASES
â¢ FASTER DEVELOPMENTS
â¢ LARGE COMMUNITIES
â¢ PROVEN AND TRUSTED
History of Raspberry PI
The Raspberry Pi is a low cost, credit-card sized computer that plugs into a computer monitor or TV, and uses a standard keyboard and mouse. It is a capable little device that enables people of all ages to explore computing, and to learn how to program in languages like Scratch and Python. Itâs capable of doing everything youâd expect a desktop computer to do, from browsing the internet and playing high-definition video, to making spreadsheets, word-processing, and playing games.
Whatâs more, the Raspberry Pi has the ability to interact with the outside world, and has been used in a wide array of digital maker projects, from music machines and parent detectors to weather stations and tweeting birdhouses with infra-red cameras. We want to see the Raspberry Pi being used by kids all over the world to learn to program and understand how computers work.
Raspberry Pi Foundation
The Raspberry Pi Foundation is a registered educational charity (registration number 1129409) based in the UK. Our Foundationâs goal is to advance the education of adults and children, particularly in the field of computers, computer science and related subjects.
7.2 Server Technology
History of MySQL
â¢ We started out with the intention of using the MySQL database system to connect to our tables using our own fast low-level (ISAM) routines. However, after some testing, we came to the conclusion that MySQL was not fast enough or flexible enough for our needs. This resulted in a new SQL interface to our database but with almost the same API interface as MySQL. This API was designed to enable third-party code that was written for use with MySQL to be ported easily for use with MySQL.
â¢ MySQL, the most popular Open Source SQL database management system, is developed, distributed, and supported by Sun Microsystems, Inc. The official way to pronounce “MySQL” is “My EssQue Ell” (not “my sequel”).
â¢ MySQL is a database management system. A database is a structured collection of data. It may be anything from a simple shopping list to a picture gallery or the vast amounts of information in a corporate network. To add, access, and process data stored in a computer database, you need a database management system such as MySQL. Since computers are very good at handling large amounts of data, database management systems play a central role in computing, as standalone utilities, or as parts of other applications.
â¢ MySQL is a relational database management system. A relational database stores data in separate tables rather than putting all the data in one big storeroom. This adds speed and flexibility. The SQL part of “MySQL” stands for “Structured Query Language.” SQL is the most common standardized language used to access databases. The SQL standard has been evolving since 1986 and several versions exist.
â¢ MySQL software is Open Source. Open Source means that it is possible for anyone to use and modify the software. Anybody can download the MySQL software from the Internet and use it without paying anything. If you wish, you may study the source code and change it to suit your needs.
â¢ The MySQL Database Server is very fast, reliable, and easy to use. MySQL Server today offers a rich and useful set of functions. Its connectivity, speed, and security make MySQL Server highly suited for accessing databases on the Internet. MySQL Server works in client/server or embedded systems.
7.3 MVC (Model View Controller)
MVC is one of three JAVA programming models. MVC is a framework for building web applications using a MVC (Model View Controller) design:
â¢ The Model represents the application core (for instance a list of database records).
â¢ The View displays the data (the database records).
â¢ The Controller handles the input (to the database records).
â¢ The business layer (Model logic)
â¢ The display layer (View logic)
â¢ The input control (Controller logic)
Figure 7.3.1 MVC Model Architecture
The Model is the part of the application that handles the logic for the application data. Often model objects retrieve data (and store data) from a database.
The View is the parts of the application that handles the display of the data. Most often the views are created from the model data.
The Controller is the part of the application that handles user interaction. Typically controllers read data from a view, control user input, and send input data to the model.
The MVC separation helps you manage complex applications, because you can focus on one aspect a time. For example, you can focus on the view without depending on the business logic. It also makes it easier to test an application.
[A] Future Enhancements
Future enhancement may consider the things that can be more helpful to make this product more customer friendly and addictive such as any social media that can improve customerâs views for the Restaurant and they get more efficient output.
Another possible enhancement is the system can be implemented for windows & IOs based smart phones. This means that the Notification can be send not only on android based Smartphone but can extended up to windows and IOs phones also. The service of Mobile VPN can be extended on the Windows based Smart phones.
Furthermore the system can be integrated with Tourism by Customer. In this system provides the facility of online payment and billing. The Raspberry pi can de available at low cost and with more USB port.
 Michael Blaha and James Rambaugh, “Oriented Modeling and Design with UML”, Second Edition, Publisher: Prentice Hall , 1991.
 Roger S Pressman ,”Software Engineering-A Practitionerâs Approach”, Seventh Edition , Publisher : McGraw-Hill ,2009 .
 PHP : http://www.w3schools.com/php.asp
 CSS3 : http://www.w3schools.com/css.asp
 HTML5 : http://www.w3schools.com/html5.asp
...(download the rest of the essay above)