
Consta de 15 tablas, sin contar las necesarias para roles y permisos (no aparecen en la imagen) dado que éstas son creadas y manejadas automáticamente por un componente de autorización.
El usuario del backend.
updated_byApp_User| Campos | Tipo | FK? | Null? | Unique? | Index? |
|---|---|---|---|---|---|
| id | int (PK) | ||||
| name | varchar(70) | ||||
| varchar(100) | X | ||||
| created_at | timestamp | ||||
| updated_at | timestamp | X | |||
| updated_by | int | X | X |
AppUser_AppAppUser_PlatformAppUser_DeviceEl usuario de las apps que envía calificaciones y comentarios.
| Campos | Tipo | FK? | Null? | Unique? | Index? |
|---|---|---|---|---|---|
| id | int (PK) | ||||
| name | varchar(70) | ||||
| varchar(100) | X | X | |||
| miba_id | char(36) | X | X | X | |
| created_at | timestamp | ||||
| updated_at | timestamp | X | |||
| deleted_at | timestamp | X |
Las apps sobre las que se envían calificaciones y comentarios.
updated_byApp_UserApp_PlatformAppUser_App| Campos | Tipo | FK? | Null? | Unique? | Index? |
|---|---|---|---|---|---|
| id | int (PK) | ||||
| name | varchar(50) | X | X | ||
| type | char | ||||
| key | char(32) | X | X | ||
| created_at | timestamp | ||||
| updated_at | timestamp | X | |||
| updated_by | int | X | X | ||
| deleted_at | timestamp | X |
La plataforma donde corren las apps y de donde provienen las calificaciones y comentarios.
App_PlatformAppUser_Platform| Campos | Tipo | FK? | Null? | Unique? | Index? |
|---|---|---|---|---|---|
| id | int (PK) | ||||
| name | varchar(15) | X | |||
| key | char(32) | X | X | ||
| created_at | timestamp | ||||
| updated_at | timestamp | X | |||
| deleted_at | timestamp | X |
En el caso de las aplicaciones móviles, el dispositivo desde donde se enviaron las calificaciones y comentarios.
brand_idplatform_idAppUser_Device| Campos | Tipo | FK? | Null? | Unique? | Index? |
|---|---|---|---|---|---|
| id | int (PK) | ||||
| name | varchar(30) | X | X | ||
| screen_width | int | ||||
| screen_height | int | ||||
| ppi | int | X | |||
| brand_id | int | X | X | X | |
| platform_id | int | X | X | ||
| created_at | timestamp | ||||
| updated_at | timestamp | X | |||
| deleted_at | timestamp | X |
Tabla intermedia para la relación many-to-many entre User y App.
| Campos | Tipo | Default | FK? | Null? | Unique? | Index? |
|---|---|---|---|---|---|---|
| id | int (PK) | |||||
| user_id | int | X | X | |||
| app_id | int | X | X |
Tabla intermedia para la relación many-to-many entre App y Platform.
| Campos | Tipo | FK? | Null? | Unique? | Index? |
|---|---|---|---|---|---|
| id | int (PK) | ||||
| app_id | int | X | X | ||
| platform_id | int | X | X |
Tabla intermedia para la relación many-to-many entre AppUser y App.
| Campos | Tipo | FK? | Null? | Unique? | Index? |
|---|---|---|---|---|---|
| id | int (PK) | ||||
| appuser_id | int | X | X | ||
| app_id | int | X | X |
Tabla intermedia para la relación many-to-many entre AppUser y Platform.
| Campos | Tipo | FK? | Null? | Unique? | Index? |
|---|---|---|---|---|---|
| id | int (PK) | ||||
| appuser_id | int | X | X | ||
| platform_id | int | X | X |
Tabla intermedia para la relación many-to-many entre AppUser y Device.
| Campos | Tipo | FK? | Null? | Unique? | Index? |
|---|---|---|---|---|---|
| id | int (PK) | ||||
| appuser_id | int | X | X | ||
| device_id | int | X | X |
En el caso de las aplicaciones web, el browser desde donde se enviaron las calificaciones y comentarios.
| Campos | Tipo | FK? | Null? | Unique? | Index? |
|---|---|---|---|---|---|
| id | int (PK) | ||||
| name | varchar(15) | X | |||
| created_at | timestamp | ||||
| updated_at | timestamp | X | |||
| deleted_at | timestamp | X |
En el caso de las aplicaciones móviles, la marca del dispositivo.
| Campos | Tipo | FK? | Null? | Unique? | Index? |
|---|---|---|---|---|---|
| id | int (PK) | ||||
| name | varchar(30) | X | |||
| created_at | timestamp | ||||
| updated_at | timestamp | X | |||
| deleted_at | timestamp | X |
Las calificaciones de las apps.
app_idrange_idappuser_idplatform_iddevice_idbrowser_id| Campos | Tipo | Default | FK? | Null? | Unique? | Index? |
|---|---|---|---|---|---|---|
| id | int (PK) | |||||
| rating | smallint | |||||
| description | varchar(30) | X | ||||
| app_version | varchar(15) | X | ||||
| browser_version | varchar(15) | X | ||||
| platform_version | varchar(15) | |||||
| has_message | bool | false | X | |||
| app_id | int | X | X | |||
| range_id | int | X | X | |||
| platform_id | int | X | X | |||
| device_id | int | X | X | |||
| appuser_id | int | X | X | X | ||
| browser_id | int | X | X | X | ||
| created_at | timestamp | |||||
| updated_at | timestamp | X | ||||
| deleted_at | timestamp | X |
Los mensajes de las conversaciones con los usuarios de las apps que enviaron calificaciones con comentarios.
rating_idcreated_by| Campos | Tipo | Default | FK? | Null? | Unique? | Index? |
|---|---|---|---|---|---|---|
| id | int (PK) | |||||
| message | text | |||||
| direction | enum | X | ||||
| status | smallint | 0 | X | |||
| transport_id | varchar(90) | X | X | X | ||
| rating_id | int | X | X | |||
| created_at | timestamp | |||||
| created_by | int | X | X | |||
| updated_at | timestamp | X |
Los rangos de calificaciones de cada app.
| Campos | Tipo | FK? | Null? | Unique? | Index? |
|---|---|---|---|---|---|
| id | int (PK) | ||||
| name | varchar(11) | ||||
| from | smallint | ||||
| to | smallint | ||||
| key | char(32) | X | X | ||
| created_at | timestamp | ||||
| updated_at | timestamp | X | |||
| deleted_at | timestamp | X |
Los campos created_at y updated_at son creados automáticamente por Laravel y no serán modificados.
Será lógico para Platform, Device, Browser, Brand, Rating, Range, AppUser, App
Será físico para User y Message.