Was not able to go ahead with the schedule due to extra office work. Anyway last night managed to come with the storage structure for the system. The storage will be spread out as the following:
- Common DB (SQL Server 2008 R2) - Common Server
- Branch DB (SQL Server 2008 R2) - Branch Server
- Mobile Phone DB (SQL Server Compact) - Mobile Phone
- XML file in the mobile phone to store & send the order over the internet. - Mobile Phone
Common DB Structure
Orders
- TokenNumber - PK
- OrderedForBranch - FK to Branch.BranchCode & BranchTable.BranchCode
- OrderedDate
- TableReserved
- TableAttendTime
- TableNo.
Menu Order
- MenuID - FK to Menu.MenuID
- TokenNumber - FK to Orders.TokenNumber
- Quantity
- MenuID - PK
- FoodCode - Unique
- FoodDescription
- FoodPrice
- FoodImage
Branch
- BranchCode - PK
- BranchName
BranchTable
- BranchCode - PK, FK to BranchCode.BranchCode
- TableNo. - PK
- TableType (2,4,6,8 or 10 seater)
- Image
Branch DB
Menu
- MenuID - PK
- FoodCode
- FoodDescription
- FoodPrice
- Available
IncomingOrders
- TokenNumber
- TableNo.
- NotifiedTime
- OrderedDate
- OrderedForBranch
Mobile DB
A cloned version of the Menu, Branch & BranchTable schemas from the CommonDB will be created on the Mobile DB to avoid delays in connecting, retrieving and displaying information remotely.
XML File to store or send order from Mobile:
<order>
<orderid></orderid>
<items>
<item>
<code></code>
<price></price>
</item>
</items>
<orderedforbranch tablereserved ="false">
<tableno></tableno>
</orderedforbranch>
<ordereddate></ordereddate>
</order>
Instead of having a location setting table separately (within a branch), I've decided to have a table called BranchTable which contain list of tables at each branch, where some tables might contain surrounding images along with it.
I haven't considered a configuration arrangement to edit the expiration datetime of reserved table. Currently it can be assumed (hard coded) as 15 minutes from table attend time, as well as the expiration of an order (if unattended) as 2 hours from the table attend time. Also the Administration console for changing food prices and images are not considered as part of the proposal.
As for the current research, I couldn't finalize a way to detect the automatic arrival of user at a particular branch using GPS as the Windows Phone 7 simulator needs to be configured to suit the development PC with internet connectivity. Until further research, the option to notify the correct location of arrival will be enforced upon the user.
During the weekend, planning to create two similar clones of DB servers to simulate DB requirements for two different branches, and a SQL Server Compact server for the mobile. Read a tip of free SQL Server hosting available on Amazon.
Got a suggestion from a colleague to include NUnit testing framework to avoid repeated debugging.
I haven't considered a configuration arrangement to edit the expiration datetime of reserved table. Currently it can be assumed (hard coded) as 15 minutes from table attend time, as well as the expiration of an order (if unattended) as 2 hours from the table attend time. Also the Administration console for changing food prices and images are not considered as part of the proposal.
As for the current research, I couldn't finalize a way to detect the automatic arrival of user at a particular branch using GPS as the Windows Phone 7 simulator needs to be configured to suit the development PC with internet connectivity. Until further research, the option to notify the correct location of arrival will be enforced upon the user.
During the weekend, planning to create two similar clones of DB servers to simulate DB requirements for two different branches, and a SQL Server Compact server for the mobile. Read a tip of free SQL Server hosting available on Amazon.
Got a suggestion from a colleague to include NUnit testing framework to avoid repeated debugging.




