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 --> done
41
42-passed dates not shown from server --> done
43-don't allow to add travels with passed date (on frontend and backend)
44
45-acabar de fer robust quan esborres un travel
46
47-GUI admin page
48
49-UX design
50-interface graphic design
51-icons
52-api more secure and robust (comprovations, hash passwords, ...)
53
54-web page (webapp) --> (de moment es pot penjar la app en versió web tal qual,
55 que es podrà fer servir des d'un navegador com si fós la app)
56
57-es veu el telèfon dels users?
58-com evitem q algú xungu es registri a la app i vegi els viatges i info dels users?
59```
60
61
62--------------------
63####**PARA LA BASE DE DATOS** [para definir como queremos q esté estructurado, pensando en las funcionalidades que queremos tener]:
64
65
66```
67var userSchema = new Schema({
68 username: { type: String },
69 password: { type: String },
70 description: { type: String },
71 avatar: { type: String },
72 mail: { type: String },
73 phone: { type: String },
74 telegram: { type: String }
75})
76var travelSchema = new Schema({
77 title: { type: String },
78 description: { type: String },
79 owner: { type: String },
80 from: { type: String },
81 to: { type: String },
82 date: { type: Date },
83 periodic: { type: Boolean },
84 generateddate: { type: Date },
85 seats: { type: Number },
86 package: { type: Boolean },
87 icon: { type: String },
88 phone: { type: Number },
89 telegram: { type: String },
90 collectivized: { type: Boolean },
91 modality: { type: String } //if is an offering travel or asking for travel
92})
93var joinSchema = new Schema({
94 travelId: { type: String },
95 joinedUserId: { type: String },
96 joinedUsername: { type: String },
97 acceptedUserId: { type: String },
98 joinedAvatar: { type: String }
99
100});
101var commentSchema = new Schema({
102 travelId: { type: String },
103 commentUserId: { type: String },
104 commentUsername: { type: String },
105 comment: { type: String },
106 commentAvatar: { type: String }
107
108});
109```
110--------------------
111
112
113####**RESOURCES using**:
114
115car icons [http://www.flaticon.com/packs/transportation-7](http://www.flaticon.com/packs/transportation-7)
116
117css para la app: matterializeCSS [http://materializecss.com/](http://materializecss.com/)
118
119avatars users: [http://www.flaticon.com/packs/animal-icon-collection](http://www.flaticon.com/packs/animal-icon-collection)
120
121
122
123
124
125mirar per fer hash de passwords https://www.npmjs.com/package/bcrypt-nodejs