####**PARA LA BASE DE DATOS** [para definir como queremos q esté estructurado, pensando en las funcionalidades que queremos tener]:
**user**:
-username
-password
-description
-icon/avatar
-mail
-phone
**travel**: (seria cuando un user publica un nuevo trayecto que va a hacer)
-title
-description
-owner (user q ha publicado el viaje)
-from
-to
-date
-description
-generateddate (cuando el user genera el aviso)
-seats (plazas de coche disponibles)
**car**: (cuando un user tiene un coche disponible para hacer viajes que se necesiten)
-title
-description
-owner (user q ha publicado el viaje)
-zone (la zona por la que está)
-available (cuando el user esta disponible, marca que esta disponible, si unos dias no podrá, lo desactiva)
-generateddate
-seats (plazas de coche disponibles)
**needtravel**: (cuando un user no dispone de coche y necesita hacer un travel)
-title
-description
-owner (user q ha publicado el asking travel)
-from
-to
-date (las fechas para cuando se necesita el viaje)
-generateddate (cuando el user genera el aviso)
-seats (plazas de coche necesarias)
**collectivizedCar**: (los coches/furgos colectivos) --> quizás esto no hace falta, solo usar 'offeringCar' normal con un añadido para notificar que es un coche colectivizado
-owner (user q publica el coche)
-title
-seats (plazas de coche disponibles)
```
var userSchema = new Schema({
username: { type: String },
password: { type: String },
description: { type: String },
avatar: { type: String },
mail: { type: String },
phone: { type: String },
telegram: { type: String }
})
var travelSchema = new Schema({
title: { type: String },
description: { type: String },
owner: { type: String },
from: { type: String },
to: { type: String },
date: { type: Date },
periodic: { type: Boolean },
generateddate: { type: Date },
seats: { type: Number },
package: { type: Boolean },
icon: { type: String },
phone: { type: Number },
telegram: { type: String },
collectivized: { type: Boolean },
modality: { type: String } //if is an offering travel or asking for travel
})
var joinSchema = new Schema({
travelId: { type: String },
joinedUserId: { type: String },
joinedUsername: { type: String },
acceptedUserId: { type: String },
joinedAvatar: { type: String }
});
var commentSchema = new Schema({
travelId: { type: String },
commentUserId: { type: String },
commentUsername: { type: String },
comment: { type: String },
commentAvatar: { type: String }
});
```
--------------------
####**RESOURCES using**:
car icons [http://www.flaticon.com/packs/transportation-7](http://www.flaticon.com/packs/transportation-7)
####**OTRAS COSAS**:
lo de poner o no un mapa, de entrada no destinaria esfuerzos en eso. Para la primera versión de la aplicación no hace falta, solo añade confort visual, para ver el recorrido, pero de entrada para una app q pone en contacto personas para compartir coche, no es algo imprescindible quizás
css para la app: matterializeCSS [http://materializecss.com/](http://materializecss.com/)