commonroutesServer/README.md
README.mdRaw
1#CollectiveCar app
2
3frontend app code: https://github.com/idoctnef/collectivecarApp
4
5**Backend:**
6 Nodejs + Express + MongoDB
7
8**Frontend:**
9 Angularjs + Ionic + MaterialDesign
10
11
12
13
14##To Do List:
15**Backend and Frontend:**
16```
17-signup user --> done
18-signup unique username --> done
19-loggin user --> done
20-update user profile --> done
21-create new travel --> done
22-update travel --> done
23-delete travel --> done
24-create offeringCar --> done
25-update offeringCar
26-delete offeringCar --> done
27-create askingForTravel (needtravel) --> done
28-update askingForTravel
29-delete askgingForTravel --> done
30-create askingPackage (need transport package) --> done
31-update askingPackage
32-delete askgingPackage --> done
33-user joins a car --> done
34-user offer car to a travel --> done
35-user offer car to a askingpackage --> done
36-user unjoins a car --> done
37-user unoffer car to a travel --> done
38-user unoffer car to a askingpackage --> done
39-comment publication(car, travel, package) --> done
40-valorating users system
41
42-passed dates not shown from server
43-don't allow to add travels with passed date
44
45-GUI admin page
46
47-UX design
48-interface graphic design
49-icons
50-api more secure and robust (comprovations, hash passwords, ...)
51
52-web page (webapp) --> (de moment es pot penjar la app en versió web tal qual,
53 que es podrà fer servir des d'un navegador com si fós la app)
54```
55
56
57--------------------
58####**PARA LA BASE DE DATOS** [para definir como queremos q esté estructurado, pensando en las funcionalidades que queremos tener]:
59
60
61```
62var userSchema = new Schema({
63 username: { type: String },
64 password: { type: String },
65 description: { type: String },
66 avatar: { type: String },
67 mail: { type: String },
68 phone: { type: String },
69 telegram: { type: String }
70})
71var travelSchema = new Schema({
72 title: { type: String },
73 description: { type: String },
74 owner: { type: String },
75 from: { type: String },
76 to: { type: String },
77 date: { type: Date },
78 periodic: { type: Boolean },
79 generateddate: { type: Date },
80 seats: { type: Number },
81 package: { type: Boolean },
82 icon: { type: String },
83 phone: { type: Number },
84 telegram: { type: String },
85 collectivized: { type: Boolean },
86 modality: { type: String } //if is an offering travel or asking for travel
87})
88var joinSchema = new Schema({
89 travelId: { type: String },
90 joinedUserId: { type: String },
91 joinedUsername: { type: String },
92 acceptedUserId: { type: String },
93 joinedAvatar: { type: String }
94
95});
96var commentSchema = new Schema({
97 travelId: { type: String },
98 commentUserId: { type: String },
99 commentUsername: { type: String },
100 comment: { type: String },
101 commentAvatar: { type: String }
102
103});
104```
105--------------------
106
107
108####**RESOURCES using**:
109
110car icons [http://www.flaticon.com/packs/transportation-7](http://www.flaticon.com/packs/transportation-7)
111
112css para la app: matterializeCSS [http://materializecss.com/](http://materializecss.com/)
113
114avatars users: [http://www.flaticon.com/packs/animal-icon-collection](http://www.flaticon.com/packs/animal-icon-collection)
115
116
117
118
119
120mirar per fer hash de passwords https://www.npmjs.com/package/bcrypt-nodejs