Академический Документы
Профессиональный Документы
Культура Документы
EDDYDN@GMAIL.COM 1
[EDMTDEV] MY RESTAURANT API
EDDYDN@GMAIL.COM 2
[EDMTDEV] MY RESTAURANT API
EDDYDN@GMAIL.COM 3
[EDMTDEV] MY RESTAURANT API
I. Introduction
This document is a document of the specification of the My Restaurant
project, a project of a long series of lectures designed to support food ordering from
a variety of combined restaurants.
All assets and documents used in the project are provided free of charge
by EddyDn in the teaching process. Any details can be tracked at
wWw.youtube.com/eddydn71
MyRestaurant project is a passionate project of EddyDn, built for the series
of mobile application development series on Android operating system, through this
series you will learn how:
- Write Backend with NodeJS (support MSSQL or MySQL)
- Write Frontend with Android Studio (Maybe have Kotlin version)
Main features of the application
- Splash Screen
- Login / Logout with Facebook Account Kit
- View multiple restaurant
- Search nearby restaurant on MAP (support by Backend)
- Multiple categories
- Category can be dynamic change for any restaurant
- Multiple foods
- Food can be dynamic change for any Category
- Room persistence + RxJava use for Cart (client save)
- Retrofit + RxJava use for API request
- Support Online Payment (Braintree)
- Each Restaurant can be have each Payment gateway
- API support both MySQL and MSSQL
- Notification between Client / Restaurant App
- Each restaurant will have each account to manager
- Food can be have size , addon
EDDYDN@GMAIL.COM 4
[EDMTDEV] MY RESTAURANT API
Software Requirements:
a. Backend NodeJS + MSSQL
- Microsoft SQL Server 2017
- Microsoft SQL Server Management 18.0 (If you want to work with
- Visual Studio 2019 (NodeJS development)
- Android Studio 3.4.1 (latest)
EDDYDN@GMAIL.COM 5
[EDMTDEV] MY RESTAURANT API
I. Database
In this version , I will show you my own first design of Database
EDDYDN@GMAIL.COM 6
[EDMTDEV] MY RESTAURANT API
a. User
This table will contain basic information about the user
MSSQL
MySQL
EDDYDN@GMAIL.COM 7
[EDMTDEV] MY RESTAURANT API
b. Restaurant
This table will contain basic information about the restaurant ,
‘UserOwner’ is Id of RestaurantOwner user . This will help
restaurant can be manage by multiple user
MSSQL
MySQL
EDDYDN@GMAIL.COM 8
[EDMTDEV] MY RESTAURANT API
c. RestaurantOwner
This table will contain user , but this user owner restaurant or is
staff of restaurant
MSSQL
MySQL
EDDYDN@GMAIL.COM 9
[EDMTDEV] MY RESTAURANT API
d. Menu
This table will contain all information about Menu
MSSQL
MySQL
EDDYDN@GMAIL.COM 10
[EDMTDEV] MY RESTAURANT API
e. Food
This table will contain all information of Food
MSSQL
MySQL
EDDYDN@GMAIL.COM 11
[EDMTDEV] MY RESTAURANT API
f. Menu_Food
This table will help us can create multiple food for multiple menu
MSSQL
MySQL
g. Restaurant_Menu
This table will help us can create multiple menu for multiple
restaurant
MSSQL
MySQL
EDDYDN@GMAIL.COM 12
[EDMTDEV] MY RESTAURANT API
h. Size
This table will contain size of food (Some food have size like
Pizza)
MSSQL
MySQL
EDDYDN@GMAIL.COM 13
[EDMTDEV] MY RESTAURANT API
i. Addon
This table will contain addon of food (Some food can be choose
addon like Pizza with special sauce)
MSSQL
MySQL
EDDYDN@GMAIL.COM 14
[EDMTDEV] MY RESTAURANT API
j. Food_Size
This table will help food can be multiple size
MSSQL
MySQL
k. Food_Addon
This table will help food can be multiple addon
MSSQL
MySQL
EDDYDN@GMAIL.COM 15
[EDMTDEV] MY RESTAURANT API
l. Order
This table will contain all information about order of user
MSSQL
MySQL
EDDYDN@GMAIL.COM 16
[EDMTDEV] MY RESTAURANT API
m. OrderDetail
This table will contain all detail of order
MSSQL
MySQL
EDDYDN@GMAIL.COM 17
[EDMTDEV] MY RESTAURANT API
n. Favorite
This table will contain all information about Food Favorite of User
MSSQL
MySQL
EDDYDN@GMAIL.COM 18
[EDMTDEV] MY RESTAURANT API
- {"success":false,"message":"…"}
Reason: error from server
Result:
- {"success":true,"result":[{"userPhone":"+84988353682","
name":"Eddy","address":"123444"}]}
- {"success":false,"message":"Empty"}
EDDYDN@GMAIL.COM 19
[EDMTDEV] MY RESTAURANT API
EDDYDN@GMAIL.COM 20
[EDMTDEV] MY RESTAURANT API
- {"success":false,"message":"…"}
Reason: error from server
Result:
- {"success":true,"result…}]}
- {"success":false,"message":"Empty"}
EDDYDN@GMAIL.COM 21
[EDMTDEV] MY RESTAURANT API
- {"success":false,"message":"…"}
Reason: error from server
Result:
- {"success":true,"result…}]}
- {"success":false,"message":"Empty"}
EDDYDN@GMAIL.COM 22
[EDMTDEV] MY RESTAURANT API
EDDYDN@GMAIL.COM 23
[EDMTDEV] MY RESTAURANT API
- {"success":false,"message":"…"}
Reason: error from server
Result:
- {"success":true,"result…}]}
- {"success":false,"message":"Empty"}
EDDYDN@GMAIL.COM 24
[EDMTDEV] MY RESTAURANT API
EDDYDN@GMAIL.COM 25
[EDMTDEV] MY RESTAURANT API
- {"success":false,"message":"…"}
Reason: error from server
Result:
- {"success":true,"result…}]}
- {"success":false,"message":"Empty"}
EDDYDN@GMAIL.COM 26
[EDMTDEV] MY RESTAURANT API
EDDYDN@GMAIL.COM 27
[EDMTDEV] MY RESTAURANT API
Example: http://localhost:3000/
nearbyrestaurant?key=YOUR_API_KEY&lat=
30.328820&lng= -81.485750&distance=10
Error:
- {"success":false,"message":"Wrong API","result":null}
Reason: Missing key (API key) in query
- {"success":false,"message":"…"}
Reason: error from server
Result:
- {"success":true,"result…}]}
- {"success":false,"message":"Empty"}
EDDYDN@GMAIL.COM 28
[EDMTDEV] MY RESTAURANT API
EDDYDN@GMAIL.COM 29
[EDMTDEV] MY RESTAURANT API
- {"success":false,"message":"…"}
Reason: error from server
Result:
- {"success":true,"result…}]}
- {"success":false,"message":"Empty"}
EDDYDN@GMAIL.COM 30
[EDMTDEV] MY RESTAURANT API
EDDYDN@GMAIL.COM 31
[EDMTDEV] MY RESTAURANT API
- {"success":false,"message":"…"}
Reason: error from server
Result:
- {"success":true,"result…}]}
- {"success":false,"message":"Empty"}
EDDYDN@GMAIL.COM 32
[EDMTDEV] MY RESTAURANT API
EDDYDN@GMAIL.COM 33
[EDMTDEV] MY RESTAURANT API
- {"success":false,"message":"…"}
Reason: error from server
Result:
- {"success":true,"result…}]}
- {"success":false,"message":"Empty"}
EDDYDN@GMAIL.COM 34
[EDMTDEV] MY RESTAURANT API
EDDYDN@GMAIL.COM 35
[EDMTDEV] MY RESTAURANT API
- {"success":false,"message":"…"}
Reason: error from server
Result:
- {"success":true,"result…}]}
- {"success":false,"message":"Empty"}
EDDYDN@GMAIL.COM 36
[EDMTDEV] MY RESTAURANT API
EDDYDN@GMAIL.COM 37
[EDMTDEV] MY RESTAURANT API
- {"success":false,"message":"…"}
Reason: error from server
Result:
- {"success":true,"result…}]}
- {"success":false,"message":"Empty"}
EDDYDN@GMAIL.COM 38
[EDMTDEV] MY RESTAURANT API
EDDYDN@GMAIL.COM 39
[EDMTDEV] MY RESTAURANT API
GET FOOD BY ID
- {"success":false,"message":"…"}
Reason: error from server
Result:
- {"success":true,"result…}]}
- {"success":false,"message":"Empty"}
EDDYDN@GMAIL.COM 40
[EDMTDEV] MY RESTAURANT API
EDDYDN@GMAIL.COM 41
[EDMTDEV] MY RESTAURANT API
- {"success":false,"message":"…"}
Reason: error from server
Result:
- {"success":true,"result…}]}
- {"success":false,"message":"Empty"}
EDDYDN@GMAIL.COM 42
[EDMTDEV] MY RESTAURANT API
EDDYDN@GMAIL.COM 43
[EDMTDEV] MY RESTAURANT API
- {"success":false,"message":"…"}
Reason: error from server
Result:
- {"success":true,"result…}]}
- {"success":false,"message":"Empty"}
EDDYDN@GMAIL.COM 44
[EDMTDEV] MY RESTAURANT API
EDDYDN@GMAIL.COM 45
[EDMTDEV] MY RESTAURANT API
- {"success":false,"message":"…"}
Reason: error from server
Result:
- {"success":true,"result…}]}
- {"success":false,"message":"Empty"}
EDDYDN@GMAIL.COM 46
[EDMTDEV] MY RESTAURANT API
EDDYDN@GMAIL.COM 47
[EDMTDEV] MY RESTAURANT API
- {"success":false,"message":"…"}
Reason: error from server
Result:
- {"success":true,"result…}]}
- {"success":false,"message":"Empty"}
EDDYDN@GMAIL.COM 48
[EDMTDEV] MY RESTAURANT API
EDDYDN@GMAIL.COM 49
[EDMTDEV] MY RESTAURANT API
{"success":false,"message":"Missing userPhone
- field in query","result":null}
Reason: Missing key userPhone
in query
- {"success":false,"message":"…"}
Reason: error from server
Result:
- {"success":true,"Success”}
EDDYDN@GMAIL.COM 50
[EDMTDEV] MY RESTAURANT API
EDDYDN@GMAIL.COM 51
[EDMTDEV] MY RESTAURANT API
- {"success":false,"message":"…"}
Reason: error from server
Result:
- {"success":true,"result…}]}
EDDYDN@GMAIL.COM 52
[EDMTDEV] MY RESTAURANT API
EDDYDN@GMAIL.COM 53
[EDMTDEV] MY RESTAURANT API
{"success":false,"message":"Missing orderId
- field in query","result":null}
Reason: Missing key orderId
in query
- {"success":false,"message":"…"}
Reason: error from server
Result:
- {"success":true,"Success”}
EDDYDN@GMAIL.COM 54
[EDMTDEV] MY RESTAURANT API
EDDYDN@GMAIL.COM 55
[EDMTDEV] MY RESTAURANT API
EDDYDN@GMAIL.COM 56
[EDMTDEV] MY RESTAURANT API
- {"success":false,"message":"…"}
Reason: error from server
Result:
- {"success":true,"result…}]}
EDDYDN@GMAIL.COM 57
[EDMTDEV] MY RESTAURANT API
EDDYDN@GMAIL.COM 58
[EDMTDEV] MY RESTAURANT API
DELETE Favorite
{"success":false,"message":"Missing orderId
- field in query","result":null}
Reason: Missing key orderId
in query
- {"success":false,"message":"…"}
Reason: error from server
Result:
- {"success":true,"Success”}
EDDYDN@GMAIL.COM 59
[EDMTDEV] MY RESTAURANT API
EDDYDN@GMAIL.COM 60