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