arnaucube
arnaucube/goRecommenderPublic Self-hosted repository
starting recommendations
arnaucode idoctnef@openmailbox.org
Thu, 06 Jul 2017 15:15:09 +0200
commit

e6737eb383d931c77bf91771b9ba13129c56f472

parent

b403a740cffdedb0d6e2309b0849832cdca6957d

3 files changed, 51 insertions(+), 3 deletions(-)

jump to
M mongodb.go → mongodb.go

@@ -98,3 +98,27 @@ }*/

} } + +func getUserById(id string) (UserModel, error) { + result := UserModel{} + err := userCollection.Find(bson.M{"id": id}).One(&result) + if err != nil { + //user not exist + return result, err + } else { + //user exist + return result, err + } +} +func getAllItems() ([]ItemModel, error) { + result := []ItemModel{} + iter := itemCollection.Find(nil).Limit(100).Iter() + err := iter.All(&result) + if err != nil { + //user not exist + return result, err + } else { + //user exist + return result, err + } +}
A recommendations.go

@@ -0,0 +1,23 @@

+package main + +import ( + "fmt" + + "github.com/fatih/color" +) + +func getRecommendations(userid string, nrec int) { + + fmt.Println(userid) + fmt.Println(nrec) + + user, err := getUserById(userid) + check(err) + color.Blue("user: ") + fmt.Println(user) + + items, err := getAllItems() + check(err) + color.Blue("all items: ") + fmt.Println(items) +}
M serverRoutes.go → serverRoutes.go

@@ -4,6 +4,7 @@ import (

"encoding/json" "fmt" "net/http" + "strconv" "github.com/gorilla/mux" )

@@ -52,11 +53,11 @@ }

func Recommendations(w http.ResponseWriter, r *http.Request) { vars := mux.Vars(r) userid := vars["userid"] - nrec := vars["nrec"] - fmt.Println(userid) - fmt.Println(nrec) + nrec, err := strconv.Atoi(vars["nrec"]) + check(err) //now, get recommendations + getRecommendations(userid, nrec) fmt.Fprintln(w, "recommendations") }