Open v1siond opened 7 years ago
From @loldlm1 on January 20, 2017 4:13
Version 1 para el modelado de la Base de Datos DeliveryApp:
User model
# - Name : string
# - Email : string
# - Password : string
# - Api_token : string
# - Address : string
# - Role : integer / La verdad no se si esto sea necesario, un usuario puede trabajar y tambien comprar cierto?
User has many Companies
User has many Orders
User has many Deliveries, through Orders
Company model
# - Name : string
# - Address : string
# - Restaurant_type : string
# - Description : string
Company belongs to User
Company has many Menus
Company has many Orders
Company has many Deliveries, through Orders
Menu model
# - Name : string
# - Price : integer
# - Description : string
# - Image : file
# - Time : integer?
Menu belongs to Order
Menu belongs to Company
Delivery model
# - Accepted : boolean
# - delivered : boolean
# - refused : boolean
# - description : string
Delivery belongs to Order
Order model
# - invoice : integer / Seria necesaria un ID especial para la orden no?
Order has one Delivery
Delivery belongs to Company
Delivery belongs to User
Order has many Menus
Esto funcionaria de esta manera:
Cualquier cosa puede cambiar, si desean añadir un campo faltante o aportar ideas para el mejor funcionamiento de la DB estaria genial.
User model
Role : integer
si es necesario, ya que el rol define las notificaciones que le llegan.
Company model
Company belongs to User
no estoy seguro de esta relación, tal vez es porque veo al usuario y a la compañía como registros diferentes, donde sería una relación de m to n?
Menu model
Price : integer
cambiemos esto a float, la mayoría de los precios no son exactos y aunque lo fueran, siempre se toma en cuenta la propina y demás en los cálculos.
Time : integer?
definamos esta date_time y le asignamos current_time_stamp para no tener que preocuparnos por verificar formatos de fecha.
Todo lo demás me parece bien :D
User model
Role : integer
o en todo caso he estado pensando y para manejar mejor las cosas, un ID especial para un usuario y ID especial para el trabajador, esos serian campos en el mismo modelo, pero serian como si estuviera con una tabla relacionado, que opinas? Asi tendria un ID exacto del comprador y ID exacto del que hizo el envio, o podria no ser necesario? Company model
Menu model
integer : float
Time : date_time
este seria el tiempo en que se hace la entrega verdad? Es necesario un date_time? no recuerdo como seria un current_time_stamp :S User model
Company Model
Menu model
Perfecto, quedamos asi entonces con el modelado, sin cambios para el Company Model
, el Menu Model
con un DateTime
y el User Model
con ID_worker
y ID_customer
. Por los momentos esta es la version final del comienzo del proyecto, luego se le añadiran las cosas que hagan falta sobre la marcha :)
From @v1siond on January 19, 2017 14:33
La DB es la base del proyecto, es lo que va a crear el enlace front-end backend, por lo que debe ser lo primero en hacerse junto con los diseños; No es necesario tener TODA la DB lista antes de empezar a programar, pero si las tablas principales para los procesos básicos como registrar, cargar y mostrar clientes, deliverys y empresas.
Originalmente pensamos en las siguientes tablas básicas:
Copied from original issue: loldlm1/AppDelivery#1