Mobile Reservation and Ordering System: Difference between revisions

From CS486wiki
Jump to navigationJump to search
Content deleted Content added
No edit summary   (change visibility)
No edit summary   (change visibility)
 
(19 intermediate revisions by the same user not shown)
Line 26: Line 26:
The software interface for mobile user is the interface of mobile application program that is composed of finding the closest restaurants, selecting restaurant, selecting menu and time, stating number of person and reservation detail and placing order buttons. Menu selection options provide mobile user to make choices from the restaurant menu list.
The software interface for mobile user is the interface of mobile application program that is composed of finding the closest restaurants, selecting restaurant, selecting menu and time, stating number of person and reservation detail and placing order buttons. Menu selection options provide mobile user to make choices from the restaurant menu list.
==== Android Mobile User Interfaces ====
==== Android Mobile User Interfaces ====
* Screens are shown in the order of opening screen, showing nearby restaurants screen, selecting restaurant screen, ordered item screen, restaurant menu item description screen, reservation detail screen and reservation summary screen.
[[File:Opening1.jpg]][[File:NearBy2.jpg]][[File:SelectedRestaurant2.jpg]][[File:OrderedItem1.jpg]]
[[File:ItemDescription1.jpg]][[File:ReservationDetailed1.jpg]][[File:OrderSummary1.jpg]]
==== IOS Mobile User Interfaces ====
==== IOS Mobile User Interfaces ====
* Screens are shown in the order of opening screen, showing nearby restaurants screen, showing all restaurants screen, selecting restaurant screen, ordered item screen, reservation detail screen, restaurant menu item description screen and reservation summary screen.
[[File:Opening.jpg]][[File:NearBy.jpg]][[File:AllRestaurants.jpg]][[File:SelectedRestaurant.jpg]]
[[File:Opening.jpg]][[File:NearBy.jpg]][[File:AllRestaurants.jpg]][[File:SelectedRestaurant.jpg]]
[[File:OrderedItem.jpg]][[File:ReservationDetail.jpg]][[File:ItemDescription.jpg]][[File:OrderSummary.jpg]]
[[File:OrderedItem.jpg]][[File:ReservationDetail.jpg]][[File:ItemDescription.jpg]][[File:OrderSummary.jpg]]
Line 34: Line 38:
It is the first we page that welcomes admin and restaurant web users. It directs admin and restaurant user to login to the “Mobile Reservation and Ordering System”.
It is the first we page that welcomes admin and restaurant web users. It directs admin and restaurant user to login to the “Mobile Reservation and Ordering System”.


[[File:welcomePage.jpg]]
[[File:welcomePage.jpg]]


==== Restaurant Login Page ====
==== Restaurant Login Page ====
Welcome page directs user to restaurant login page when the user logins into system as restaurant user. This page expects user to enter username and corresponding password in order to login into the system. Then it directs user to restaurant main page.
Welcome page directs user to restaurant login page when the user logins into system as restaurant user. This page expects user to enter username and corresponding password in order to login into the system. Then it directs user to restaurant main page.


[[File:restLogin2.jpg]]
[[File:restLogin2.jpg]]


==== Restaurant Main Page ====
==== Restaurant Main Page ====
This page shows restaurant name, coordinates, available seats and status of the restaurant as a label. It also shows related information about reservation such as reservation id, arrival date, arrival time, phone number and reservation description. It direct user to restaurant info edition page and menu pages. Moreover,it allows restaurant user to delete the reservations and see detailed information about the reservation and ordered menu items directing user to reservation detail page. The restaurant user can change the status of the restaurant by clicking status change button.
This page shows restaurant name, coordinates, available seats and status of the restaurant as a label. It also shows related information about reservation such as reservation id, arrival date, arrival time, phone number and reservation description. It direct user to restaurant info edition page and menu pages. Moreover,it allows restaurant user to delete the reservations and see detailed information about the reservation and ordered menu items directing user to reservation detail page. The restaurant user can change the status of the restaurant by clicking status change button.


[[File:restaurantMain.jpg]]
[[File:restaurantMain.jpg]]
==== Restaurant Edit Account Page ====
==== Restaurant Edit Account Page ====
Restaurant main page directs user to restaurant info edition page when the user clicks edit account link. It allows restaurant user to change the previous restaurant info entering new name, new password, new coordinates or new description information. Restaurant user can also change the number of available seats in the restaurant and restaurant status through this web page.
Restaurant main page directs user to restaurant info edition page when the user clicks edit account link. It allows restaurant user to change the previous restaurant info entering new name, new password, new coordinates or new description information. Restaurant user can also change the number of available seats in the restaurant and restaurant status through this web page.


[[File:restaurantEditAccount.jpg]]
[[File:restaurantEditAccount.jpg]]
==== Restaurant Menu Page ====
==== Restaurant Menu Page ====
Restaurant main page directs user to menu page when the user clicks menu link. It shows the menu item id, name, description and price info of the menu items belonging to that restaurant. It also allows user to add new item into restaurant menu entering new item name, description, price and uploading menu item photo.
Restaurant main page directs user to menu page when the user clicks menu link. It shows the menu item id, name, description and price info of the menu items belonging to that restaurant. It also allows user to add new item into restaurant menu entering new item name, description, price and uploading menu item photo.


[[File:restaurantMenu.jpg]]
[[File:restaurantMenu.jpg]]
==== Restaurant Menu Item Edit Page ====
==== Restaurant Menu Item Edit Page ====
Menu page directs user to menu item edition page when the user clicks menu item edit button. It shows the item id, name, description and price info of the selected menu item. Then it allows user to edit menu item info entering new name, description, price and uploading new photo.
Menu page directs user to menu item edition page when the user clicks menu item edit button. It shows the item id, name, description and price info of the selected menu item. Then it allows user to edit menu item info entering new name, description, price and uploading new photo.


[[File:restaurantMenuItem.jpg]]
[[File:restaurantMenuItem.jpg]]
==== Restaurant Reservation Detail Page ====
==== Restaurant Reservation Detail Page ====
Restaurant main page directs user to reservation detail page when the user clicks see details of the reservation button. It shows detailed info of reservation with reservation id, arrival date, arrival time, number of person, reservation detail, phone number and ordered item list. Restaurant use can delete and edit ordered list, change the arrival time of the customers and add new item to the order list. When the user clicks edit ordered items button, it directs user ordered item edition page.
Restaurant main page directs user to reservation detail page when the user clicks see details of the reservation button. It shows detailed info of reservation with reservation id, arrival date, arrival time, number of person, reservation detail, phone number and ordered item list. Restaurant use can delete and edit ordered list, change the arrival time of the customers and add new item to the order list. When the user clicks edit ordered items button, it directs user ordered item edition page.


[[File:restaurantOrderedItem.jpg]]
[[File:restaurantOrderedItem.jpg]]
==== Restaurant Ordered Item Edit Page ====
==== Restaurant Ordered Item Edit Page ====
Reservation detail page directs user to ordered item edition page when the user clicks edit ordered item button. Restaurant user can change the ordered item totally or he/she can change the total number of selected ordered item through this web page.
Reservation detail page directs user to ordered item edition page when the user clicks edit ordered item button. Restaurant user can change the ordered item totally or he/she can change the total number of selected ordered item through this web page.


[[File:restaurantOrderedItemEdit.jpg]]
[[File:restaurantOrderedItemEdit.jpg]]
=== Administrator Interfaces ===
=== Administrator Interfaces ===
The software interface for administrator web user is the interface of web application. The login page is provided via web application in order to do adding, deleting and updating operations for administrator and restaurant information.
The software interface for administrator web user is the interface of web application. The login page is provided via web application in order to do adding, deleting and updating operations for administrator and restaurant information.
Line 70: Line 74:
Welcome page directs user to admin login page when the user logins into system as admin. This page expects user to enter username and corresponding password in order to login into the system. Then it directs user to admin main page.
Welcome page directs user to admin login page when the user logins into system as admin. This page expects user to enter username and corresponding password in order to login into the system. Then it directs user to admin main page.


[[File:adminLogin.jpg]]
[[File:adminLogin.jpg]]
==== Admin Main Page ====
==== Admin Main Page ====
Admin login page directs user to admin main page when the username and password is validated. It shows admin operations such as add restaurant, edit restaurant and edit account. It also shows restaurant id, name, password, coordinates and status of the restaurant. It allows admin user to suspend or reactivate the account of the restaurants. It is also possible to delete restaurant from database completely via this page.
Admin login page directs user to admin main page when the username and password is validated. It shows admin operations such as add restaurant, edit restaurant and edit account. It also shows restaurant id, name, password, coordinates and status of the restaurant. It allows admin user to suspend or reactivate the account of the restaurants. It is also possible to delete restaurant from database completely via this page.


[[File:adminMainPage.jpg]]
[[File:adminMainPage.jpg]]
==== Admin Add Restaurant Page ====
==== Admin Add Restaurant Page ====
Admin main page directs user to restaurant adding page when the user clicks add restaurant link. It allows admin user to add new restaurant entering name, password, coordinates and description information of the new restaurant.
Admin main page directs user to restaurant adding page when the user clicks add restaurant link. It allows admin user to add new restaurant entering name, password, coordinates and description information of the new restaurant.


[[File:adminAddRestaurant.jpg]]
[[File:adminAddRestaurant.jpg]]
==== Admin Edit Restaurant Page ====
==== Admin Edit Restaurant Page ====
Admin main page directs user to restaurant editing page when the user clicks edit restaurant link. It allows admin user to edit previously known restaurant entering new name, new password, new coordinates or new description information.
Admin main page directs user to restaurant editing page when the user clicks edit restaurant link. It allows admin user to edit previously known restaurant entering new name, new password, new coordinates or new description information.


[[File:adminEditRestaurant.jpg]]
[[File:adminEditRestaurant.jpg]]
==== Admin Edit Account Page ====
==== Admin Edit Account Page ====
Admin main page directs user to account editing page when the user clicks edit account link. It allows admin user to change the password of the administrator by entering username and new password.
Admin main page directs user to account editing page when the user clicks edit account link. It allows admin user to change the password of the administrator by entering username and new password.


[[File:adminEditAccount.jpg]]
[[File:adminEditAccount.jpg]]
== Technical Specification ==
=== Database Structure ===
* Admin Table : keeps username and password
* Menu Table : keeps menu items with its name, description and price
* OrderedItemList Table : keeps ordered item list with the specified total number of each item
* Reservation Table : keeps reservation info with arrival date, arrival time, number of person the table reserved for, reservation detail and phone number of the mobile user
* Restaurant Table : keeps restaurant info with its name, password, coordinates, description, number of available seats, availability and active or inactive status
* RestaurantMenuList Table : keeps the menu list info of the restaurants
[[File:databaseStructure.jpg]]
=== Web Application Source Packages ===
==== Database ====
* AdminTable.java : This class is used to get and set related admin information using admin table through mobilereservation database created in MySQL.
* MenuTable.java : This class is used to get and set related menu item information using menu table through mobilereservation database created in MySQL.
* ReservationTable.java : This class is used to get and set detailed reservation information using reservation table through mobilereservation database created in MySQL.
* RestTable.java : This class is used to get and set restaurant information using restaurant table through mobilereservation database created in MySQL.
==== Servlets ====
* AdminLog.java: This class initializes the connection with database than it gets the username and password of the administrator. If the username and password are entered correctly, it directs user to admin main page. If the username and password are not validated then it redirects admin to admin login page.
* HandleDeletionServlet.java: This class is designed to delete restaurants from database depending on the selection of web administrator. Admin can also make some changes about the status of restaurants as inactive and active setting the activation as open or closed when the change status button is clicked in admin main page. Then it redirects admin to admin main page as a response for its deletion requests.
* HandleEditionServlet.java: This class is designed to update the name, password, coordinates and description info of the restaurants. It can also handle the changes about editing the password of the web administrator. Then it redirects admin to admin main page as a response for its update requests.
* HandleInsertionServlet.java: This class is designed in order to insert the name, password, coordinates and description of the new restaurants into the database. Then it redirects admin to admin main page as a response for its insertion requests.
* HandleMenuServlet.java: This class is designed in order to do some operations for the menu list of the restaurants. After the initialization of the database connection, this class can handle insertion, deletion and update operations on menu table using related info about item name, item description and price of the menu list items when the delete and edit item buttons and submit button are clicked. After the operations, it redirects restaurant user to menu page as a response for its insertion, update and deletion requests.
* HandleRestEditionServlet.java: This class is designed in order to do some operations for restaurant info. After the initialization of the database connection, this class can handle update operation for changing the availability of the restaurants. It can handle update operation for changing the name, password, coordinates, description, number of available seats and restaurant status info belonging to the restaurant. This class also gets the reservation info and ordered item list info in order to pass them into another web page. It gets arrival date, arrival time, number of person, reservation detail, phone number info of the reservation of mobile user. Moreover, it passes related info about ordered item name, description and price to reservation detail page. This class handles deletion operation for the reservation then it redirects restaurant user to restaurant main page as a response for its deletion requests.
* ItemEditionServlet.java: This class is designed in order to update menu list of the restaurants. After the initialization of the database connection, this class can handle update operations on menu table changing the information about item name, item description and price of the selected item from the menu list when the edit button in menu page is clicked. After the update operation, it redirects restaurant user to menu item editing page as a response for its update requests.
* OrderedItemEdition.java: This class is designed in order to do insertion, update and deletion operations for reservation and ordered item info. After the initialization of the database connection, this class can handle update operation for changing the arrival time of the customers. It can also handle deletion operation for deleting ordered item from the list. Restaurant user can add new menu item into the ordered item list and the number of ordered menu item can be changed via this class when the add new item into ordered list and change ordered item number buttons are clicked. This class can also handle update operation for changing the ordered menu item with a new menu item.
* RestLogin.java: This class initializes the connection with database than it gets the username and password of the restaurant user. If the username and password are entered correctly, it directs restaurant user to admin main page. If the username and password are not validated then it redirects admin to admin login page.
* VLibraryManage.java: This class defines general functions for getting info from admin, restaurant, reservation and menu tables. This class provides database connection function. The userid, username and corresponding password info are taken from admin table using getUserData() function defined in this class. Id, name, password, coordinates, description, number of available seats, availability and activation status info of restaurant are taken from restaurant table using getRestData() function defined in this class. Reservation id, restaurant id, arrival date, arrival time, number of person, reservation detail and phone number info are taken from reservation table using getReservationData() function defined in this class. Item id, name, description and price info are taken from menu table using getMenuData() function defined in this class.
== Progress We Achieved ==
* In the beginnning of the term, we decided to run “software engineering” on our project and we did it.
* For the first step, we prepared “project plan” document. When we were creating this document, we decided what the mobile users and restaurants wait from us and we specified the project requirements depending on their needs and demands. Then we took the risks that we can witness into consideration and we did risk estimation. According to the results, we planned our schedule in order to complete this project beginning of the May.
* For the second stage of the project, we prepared “project requirements” document. When we prepared it, we decided on what the data flow of mobile and web applications should be exactly.
* For the third stage of the project, we prepared “project design plan” document. We specified the modules and software interfaces (user screens) for both mobile and web applications.
* We setup server and got domain name as “eatwithoutrush.com”.
* We meet with the managers of the some of the restaurants in Binghamton. As a result, we finished requirements definition, analysis and design phases of the “Mobile Reservation and Ordering System” project.
* We started coding phase of the project and completed coding phase on April 24th 2013.
* As a next step we tested our application until beginning of May 1st 2013 and controlled whether the mobile applications and web application satisfies the requirements that are defined previously or not.
* We completed our Mobile Reservation and Ordering System software product at the beginning of May.
* Now, we are hoping to get the best results both from mobile and web applications, mobile and restaurant web users and also customers of the restaurants.

== Team Members ==
Mobile Reservation and Ordering System senior project is developed by Bedri SENDIR, Hakan SINIR, Mert MERTCAN and Selen BAKKAL.

Latest revision as of 03:36, 7 May 2013

Introduction

Communication through mobile systems is taking over our daily life, and shaping point of views to the world. Mobile technologies are in demand of today’s business life and nowadays these mobile systems are most popular systems of innovative technology. Mobile Reservation and Ordering System project will give the chance of controlling the availability of nearby restaurants and their menu options to the user without going to restaurant.

Project Description

Mobile Reservation and Ordering System presents a system that is appropriate for setting time and shape of the meals. By means of using of this software product, we plan to serve customers with a system that arranges proper time and proper restaurants for them. This project is based on mobile Android and IOS operating system, that’s why every mobile device that handles these operating systems will be available for our reservation and ordering application. Also because of growing movement on mobile applications’ market share, this project gives us the opportunity to approach many users.

  • Mobile Reservation and Ordering System application is composed of three main subsystems. Database, Android and IOS mobile applications and web application generate a system that provides mobile user and restaurant user to interact with database in order to do operations related with reservations. The major part of this general structure is database. Operations on database are provided through the usage of mobile application and web application.
  • Mobile applications provide user to place an order changing the database variables dynamically. When the order is placed by mobile application user whose location is determined, the variables belonging to order table in database are updated. The online order is shaped according to restaurant id, restaurant menu selection, number of people reserved for table, contact phone number and time for delivering the order to the customer.
  • Web application provides restaurant users to be informed about orders. Through refreshing database, the restaurant user can be aware of the order information with the changing values of the variables. All of ordering information is defined for explaining the concept of orders to the restaurant users. Moreover with specific username and password restaurant users are accepted for the web application system in order to do operations on database. The restaurant users can update the status of orders and number of available seats in restaurant for the following orders. On the other hand, administrator of the web application can do other operations related with database variables. The web admin users carry out adding, deleting and updating operations.

Purpose of the Project

The purpose of this project is to present mobile users software product in order to give them chance to place order without going to restaurants, minimize the waiting time for the preparation of food, provide restaurant users chance to keep track how many customers come and at which time intervals, provide restaurant users to save money while hiring required number of waitress depending on the number of person placed an order and give them chance to compute with fast food chains for the fight against obesity.

Project Design

Information flow representation is the description of the general structure and process flow of the software project. By using different kinds of diagrams, the process was articulated clearly and thus the implementation phase was completed easily since we abide the standard flow of the processes. Using these flow diagrams provided us to make a shape of our software product.

Hardware and Software Interfaces

For Mobile Reservation and Ordering System Project Development we used :

  • Eclipse with Android SDK for Java Development
  • XCode for IOS Development
  • NetBeans IDE for Web Application (through JSP)
  • Apache Tomcat web server
  • MySQL for Web Applications Database that works on Linux Server and holds restaurant, menu, reservation and order information
  • SQLite for Android and IOS mobile application’s database that updates itself depending on the information updates from the restaurants

For Mobile Reservation and Ordering System Application user :

  • User must have Android or IOS operating systems running device.
  • New versions of web browsers should be used in restaurant’s computers for the dynamic interactions with database.

Mobile User Interfaces

The software interface for mobile user is the interface of mobile application program that is composed of finding the closest restaurants, selecting restaurant, selecting menu and time, stating number of person and reservation detail and placing order buttons. Menu selection options provide mobile user to make choices from the restaurant menu list.

Android Mobile User Interfaces

  • Screens are shown in the order of opening screen, showing nearby restaurants screen, selecting restaurant screen, ordered item screen, restaurant menu item description screen, reservation detail screen and reservation summary screen.

IOS Mobile User Interfaces

  • Screens are shown in the order of opening screen, showing nearby restaurants screen, showing all restaurants screen, selecting restaurant screen, ordered item screen, reservation detail screen, restaurant menu item description screen and reservation summary screen.

Restaurant User Interfaces

The software interface for restaurant web user is the interface of web application. The login page is provided with web application in order to give restaurant user chance to login system and control order information using its specific username and password. Another interface for restaurant user is that the restaurant related information taken from the database is shown in order to make required changes for restaurant and restaurant menu information.

Welcome Page for Mobile Reservation and Ordering System

It is the first we page that welcomes admin and restaurant web users. It directs admin and restaurant user to login to the “Mobile Reservation and Ordering System”.

Restaurant Login Page

Welcome page directs user to restaurant login page when the user logins into system as restaurant user. This page expects user to enter username and corresponding password in order to login into the system. Then it directs user to restaurant main page.

Restaurant Main Page

This page shows restaurant name, coordinates, available seats and status of the restaurant as a label. It also shows related information about reservation such as reservation id, arrival date, arrival time, phone number and reservation description. It direct user to restaurant info edition page and menu pages. Moreover,it allows restaurant user to delete the reservations and see detailed information about the reservation and ordered menu items directing user to reservation detail page. The restaurant user can change the status of the restaurant by clicking status change button.

Restaurant Edit Account Page

Restaurant main page directs user to restaurant info edition page when the user clicks edit account link. It allows restaurant user to change the previous restaurant info entering new name, new password, new coordinates or new description information. Restaurant user can also change the number of available seats in the restaurant and restaurant status through this web page.

Restaurant Menu Page

Restaurant main page directs user to menu page when the user clicks menu link. It shows the menu item id, name, description and price info of the menu items belonging to that restaurant. It also allows user to add new item into restaurant menu entering new item name, description, price and uploading menu item photo.

Restaurant Menu Item Edit Page

Menu page directs user to menu item edition page when the user clicks menu item edit button. It shows the item id, name, description and price info of the selected menu item. Then it allows user to edit menu item info entering new name, description, price and uploading new photo.

Restaurant Reservation Detail Page

Restaurant main page directs user to reservation detail page when the user clicks see details of the reservation button. It shows detailed info of reservation with reservation id, arrival date, arrival time, number of person, reservation detail, phone number and ordered item list. Restaurant use can delete and edit ordered list, change the arrival time of the customers and add new item to the order list. When the user clicks edit ordered items button, it directs user ordered item edition page.

Restaurant Ordered Item Edit Page

Reservation detail page directs user to ordered item edition page when the user clicks edit ordered item button. Restaurant user can change the ordered item totally or he/she can change the total number of selected ordered item through this web page.

Administrator Interfaces

The software interface for administrator web user is the interface of web application. The login page is provided via web application in order to do adding, deleting and updating operations for administrator and restaurant information.

Admin Login Page

Welcome page directs user to admin login page when the user logins into system as admin. This page expects user to enter username and corresponding password in order to login into the system. Then it directs user to admin main page.

Admin Main Page

Admin login page directs user to admin main page when the username and password is validated. It shows admin operations such as add restaurant, edit restaurant and edit account. It also shows restaurant id, name, password, coordinates and status of the restaurant. It allows admin user to suspend or reactivate the account of the restaurants. It is also possible to delete restaurant from database completely via this page.

Admin Add Restaurant Page

Admin main page directs user to restaurant adding page when the user clicks add restaurant link. It allows admin user to add new restaurant entering name, password, coordinates and description information of the new restaurant.

Admin Edit Restaurant Page

Admin main page directs user to restaurant editing page when the user clicks edit restaurant link. It allows admin user to edit previously known restaurant entering new name, new password, new coordinates or new description information.

Admin Edit Account Page

Admin main page directs user to account editing page when the user clicks edit account link. It allows admin user to change the password of the administrator by entering username and new password.

Technical Specification

Database Structure

  • Admin Table : keeps username and password
  • Menu Table : keeps menu items with its name, description and price
  • OrderedItemList Table : keeps ordered item list with the specified total number of each item
  • Reservation Table : keeps reservation info with arrival date, arrival time, number of person the table reserved for, reservation detail and phone number of the mobile user
  • Restaurant Table : keeps restaurant info with its name, password, coordinates, description, number of available seats, availability and active or inactive status
  • RestaurantMenuList Table : keeps the menu list info of the restaurants

Web Application Source Packages

Database

  • AdminTable.java : This class is used to get and set related admin information using admin table through mobilereservation database created in MySQL.
  • MenuTable.java : This class is used to get and set related menu item information using menu table through mobilereservation database created in MySQL.
  • ReservationTable.java : This class is used to get and set detailed reservation information using reservation table through mobilereservation database created in MySQL.
  • RestTable.java : This class is used to get and set restaurant information using restaurant table through mobilereservation database created in MySQL.

Servlets

  • AdminLog.java: This class initializes the connection with database than it gets the username and password of the administrator. If the username and password are entered correctly, it directs user to admin main page. If the username and password are not validated then it redirects admin to admin login page.
  • HandleDeletionServlet.java: This class is designed to delete restaurants from database depending on the selection of web administrator. Admin can also make some changes about the status of restaurants as inactive and active setting the activation as open or closed when the change status button is clicked in admin main page. Then it redirects admin to admin main page as a response for its deletion requests.
  • HandleEditionServlet.java: This class is designed to update the name, password, coordinates and description info of the restaurants. It can also handle the changes about editing the password of the web administrator. Then it redirects admin to admin main page as a response for its update requests.
  • HandleInsertionServlet.java: This class is designed in order to insert the name, password, coordinates and description of the new restaurants into the database. Then it redirects admin to admin main page as a response for its insertion requests.
  • HandleMenuServlet.java: This class is designed in order to do some operations for the menu list of the restaurants. After the initialization of the database connection, this class can handle insertion, deletion and update operations on menu table using related info about item name, item description and price of the menu list items when the delete and edit item buttons and submit button are clicked. After the operations, it redirects restaurant user to menu page as a response for its insertion, update and deletion requests.
  • HandleRestEditionServlet.java: This class is designed in order to do some operations for restaurant info. After the initialization of the database connection, this class can handle update operation for changing the availability of the restaurants. It can handle update operation for changing the name, password, coordinates, description, number of available seats and restaurant status info belonging to the restaurant. This class also gets the reservation info and ordered item list info in order to pass them into another web page. It gets arrival date, arrival time, number of person, reservation detail, phone number info of the reservation of mobile user. Moreover, it passes related info about ordered item name, description and price to reservation detail page. This class handles deletion operation for the reservation then it redirects restaurant user to restaurant main page as a response for its deletion requests.
  • ItemEditionServlet.java: This class is designed in order to update menu list of the restaurants. After the initialization of the database connection, this class can handle update operations on menu table changing the information about item name, item description and price of the selected item from the menu list when the edit button in menu page is clicked. After the update operation, it redirects restaurant user to menu item editing page as a response for its update requests.
  • OrderedItemEdition.java: This class is designed in order to do insertion, update and deletion operations for reservation and ordered item info. After the initialization of the database connection, this class can handle update operation for changing the arrival time of the customers. It can also handle deletion operation for deleting ordered item from the list. Restaurant user can add new menu item into the ordered item list and the number of ordered menu item can be changed via this class when the add new item into ordered list and change ordered item number buttons are clicked. This class can also handle update operation for changing the ordered menu item with a new menu item.
  • RestLogin.java: This class initializes the connection with database than it gets the username and password of the restaurant user. If the username and password are entered correctly, it directs restaurant user to admin main page. If the username and password are not validated then it redirects admin to admin login page.
  • VLibraryManage.java: This class defines general functions for getting info from admin, restaurant, reservation and menu tables. This class provides database connection function. The userid, username and corresponding password info are taken from admin table using getUserData() function defined in this class. Id, name, password, coordinates, description, number of available seats, availability and activation status info of restaurant are taken from restaurant table using getRestData() function defined in this class. Reservation id, restaurant id, arrival date, arrival time, number of person, reservation detail and phone number info are taken from reservation table using getReservationData() function defined in this class. Item id, name, description and price info are taken from menu table using getMenuData() function defined in this class.

Progress We Achieved

  • In the beginnning of the term, we decided to run “software engineering” on our project and we did it.
  • For the first step, we prepared “project plan” document. When we were creating this document, we decided what the mobile users and restaurants wait from us and we specified the project requirements depending on their needs and demands. Then we took the risks that we can witness into consideration and we did risk estimation. According to the results, we planned our schedule in order to complete this project beginning of the May.
  • For the second stage of the project, we prepared “project requirements” document. When we prepared it, we decided on what the data flow of mobile and web applications should be exactly.
  • For the third stage of the project, we prepared “project design plan” document. We specified the modules and software interfaces (user screens) for both mobile and web applications.
  • We setup server and got domain name as “eatwithoutrush.com”.
  • We meet with the managers of the some of the restaurants in Binghamton. As a result, we finished requirements definition, analysis and design phases of the “Mobile Reservation and Ordering System” project.
  • We started coding phase of the project and completed coding phase on April 24th 2013.
  • As a next step we tested our application until beginning of May 1st 2013 and controlled whether the mobile applications and web application satisfies the requirements that are defined previously or not.
  • We completed our Mobile Reservation and Ordering System software product at the beginning of May.
  • Now, we are hoping to get the best results both from mobile and web applications, mobile and restaurant web users and also customers of the restaurants.

Team Members

Mobile Reservation and Ordering System senior project is developed by Bedri SENDIR, Hakan SINIR, Mert MERTCAN and Selen BAKKAL.