arnaucube
arnaucube/goRecommenderPublic Self-hosted repository
cluster age
arnaucode idoctnef@openmailbox.org
Fri, 28 Jul 2017 21:19:40 +0200
commit

1d0fcbef47a29740e610aaf7a144c0e9588682cf

parent

fe78d1acaa48290b2dcf9db6eac3fec5576063fe

3 files changed, 29 insertions(+), 4 deletions(-)

jump to
M mongodbModels.go → mongodbModels.go

@@ -1,9 +1,11 @@

package main type UserModel struct { - ID string `json:"id"` - Age int `json:",string"` - Actions []string + ID string `json:"id"` + Age int `json:",string"` + //age clusters: a<20 (0), 20<a<40 (1), 40<a<60 (2), 60<a (3) + AgeCluster int + Actions []string } type ItemModel struct { ID string
M serverRoutes.go → serverRoutes.go

@@ -51,11 +51,14 @@ var newUser UserModel

err := decoder.Decode(&newUser) check(err) defer r.Body.Close() + newUser = user.clusterAge(newUser) saveUser(userCollection, newUser) fmt.Println(newUser) - fmt.Fprintln(w, "new user added: ", newUser.ID) + jNewUser, err := json.Marshal(newUser) + check(err) + fmt.Fprintln(w, string(jNewUser)) } func Recommendations(w http.ResponseWriter, r *http.Request) { ipFilter(w, r)
A userOperations.go

@@ -0,0 +1,20 @@

+package main + +var user UserModel + +func (userModel UserModel) clusterAge(u UserModel) UserModel { + if u.Age < 15 { + u.AgeCluster = 0 + } else if 15 < u.Age && u.Age <= 25 { + u.AgeCluster = 1 + } else if 25 < u.Age && u.Age <= 40 { + u.AgeCluster = 2 + } else if 40 < u.Age && u.Age <= 50 { + u.AgeCluster = 3 + } else if 50 < u.Age && u.Age <= 60 { + u.AgeCluster = 4 + } else if 60 < u.Age { + u.AgeCluster = 5 + } + return u +}