diff --git a/backend/models/recommendation.js b/backend/models/recommendation.js
new file mode 100644
index 0000000000000000000000000000000000000000..70f1e5c85e675c97523af7b6aed70ed6f40ecb96
--- /dev/null
+++ b/backend/models/recommendation.js
@@ -0,0 +1,17 @@
+const mongoose = require("mongoose");
+const { Schema } = mongoose;
+
+const RecoSchema = new mongoose.Schema(
+  {
+    recommended_movies: [{ type: Schema.Types.ObjectId, ref: "MovieModel" }],
+    user: [{ type: Schema.Types.ObjectId, ref: "UserModel" }],
+  },
+  {
+    toJSON: { virtuals: true }, // So `res.json()` and other `JSON.stringify()` functions include virtuals
+    toObject: { virtuals: true }, // So `console.log()` and other functions that use `toObject()` include virtuals
+  }
+);
+
+const RecoModel = mongoose.model("RecoModel", RecoSchema, "recommendations");
+
+module.exports = RecoModel;
diff --git a/backend/routes/recommendations.js b/backend/routes/recommendations.js
new file mode 100644
index 0000000000000000000000000000000000000000..e3ab53818584b029eb7b39e514c9bcbe1919f0b4
--- /dev/null
+++ b/backend/routes/recommendations.js
@@ -0,0 +1,122 @@
+const express = require("express");
+const RecoModel = require("../models/recommendation");
+const router = express.Router();
+
+// router.get("/", function (req, res) {
+//   RecoModel.find({}).then(function (users) {
+//     res.json();
+//   });
+// });
+
+router.get("/:userId", async function (req, res) {
+  const userId = await req.params["userId"];
+  console.log(userId);
+  const userPopulated = await RecoModel.findOne({ user_id: userId }).populate(
+    "recommended_movies"
+  );
+  res.send(userPopulated.recommended_movies);
+});
+
+// router.get("/isliked/:movieId/:userId", async function (req, res) {
+//   const userId = await req.params["userId"];
+//   console.log(userId);
+//   const movieId = await req.params["movieId"];
+//   const user = await UserModel.findById(userId);
+//   const movieOid = await MovieModel.findOne({ id: movieId });
+//   const likedMovies = user.liked_movies;
+//   const myIndex = likedMovies.indexOf(movieOid._id) + 1;
+//   console.log(Boolean(myIndex));
+//   res.send(Boolean(myIndex));
+// });
+
+// router.post("/new", function (req, res) {
+//   const newUser = new UserModel({
+//     email: req.body.email,
+//     firstName: req.body.firstName,
+//     lastName: req.body.lastName,
+//   });
+
+//   newUser
+//     .save()
+//     .then(function (newDocument) {
+//       res.status(201).json(newDocument);
+//     })
+//     .catch(function (error) {
+//       console.error(error);
+//       if (error.code === 11000) {
+//         res.status(400).json({
+//           message: `User with email "${newUser.email}" already exists`,
+//         });
+//       } else {
+//         res.status(500).json({ message: "Error while creating the user" });
+//       }
+//     });
+// });
+
+// router.put("/like", async function (req, res) {
+//   try {
+//     const userId = await req.body.userId;
+//     const movieId = await req.body.movieId;
+//     const movieOid = await MovieModel.findOne({ id: movieId });
+//     const user = await UserModel.findById(userId);
+//     const likedMovies = user.liked_movies;
+//     const myIndex = likedMovies.indexOf(movieOid._id);
+//     if (myIndex == -1) {
+//       likedMovies.splice(myIndex, 1);
+//       await UserModel.findByIdAndUpdate(userId, {
+//         liked_movies: likedMovies.concat([movieOid._id]),
+//       });
+//       console.log(movieOid.title);
+//       console.log(movieOid._id);
+//       res.send("Done");
+//     } else {
+//       console.log(movieOid.title);
+//       console.log(movieOid._id);
+//       console.log("This movie is already liked");
+//       res.send("This movie is already liked");
+//     }
+//   } catch (error) {
+//     console.log(error);
+//     res.send("Internal problem");
+//   }
+// });
+
+// router.put("/unlike", async function (req, res) {
+//   try {
+//     const userId = await req.body.userId;
+//     const movieId = await req.body.movieId;
+//     const movieOid = await MovieModel.findOne({ id: movieId });
+//     const user = await UserModel.findById(userId);
+//     const likedMovies = user.liked_movies;
+//     const myIndex = likedMovies.indexOf(movieOid._id);
+//     if (myIndex !== -1) {
+//       likedMovies.splice(myIndex, 1);
+//       await UserModel.findByIdAndUpdate(userId, {
+//         liked_movies: likedMovies,
+//       });
+//       res.send("Done");
+//       console.log(movieOid.title);
+//       console.log(movieOid._id);
+//     } else {
+//       res.send("This movie wasn't liked");
+//       console.log(movieOid.title);
+//       console.log(movieOid._id);
+//       console.log("This movie wasn't liked");
+//     }
+//   } catch (error) {
+//     console.log(error);
+//     res.send("Internal problem");
+//   }
+// });
+
+// router.delete("/:userId", function (req, res) {
+//   UserModel.deleteOne({ _id: req.params.userId })
+//     .then(function () {
+//       res.status(204).json({ message: "User successfully deleted" });
+//     })
+//     .catch(function () {
+//       res.status(500).json({ message: "Error while deleting the user" });
+//     });
+// });
+
+module.exports = router;
diff --git a/backend/server.js b/backend/server.js
index 16c7c87e0dd3c50565c73a13a74238d9a31f6d34..994951e04e30587e15ec8b45cb06c1bef13dce3c 100644
--- a/backend/server.js
+++ b/backend/server.js
@@ -6,6 +6,7 @@ const indexRouter = require("./routes/index");
 const usersRouter = require("./routes/users");
 const moviesRouter = require("./routes/movies");
 const genresRouter = require("./routes/genres");
+const recoRouter = require("./routes/recommendations");
 const routeNotFoundJsonHandler = require("./services/routeNotFoundJsonHandler");
 const jsonErrorHandler = require("./services/jsonErrorHandler");
 
@@ -24,6 +25,7 @@ app.use("/users", usersRouter);
 
 app.use("/movies", moviesRouter);
 app.use("/genres", genresRouter);
+app.use("/reco", recoRouter);
 
 // Register 404 middleware and error handler
 app.use(routeNotFoundJsonHandler); // this middleware must be registered after all routes to handle 404 correctly
diff --git a/frontend/src/views/Home.vue b/frontend/src/views/Home.vue
index b4e4dcecf0e8a84eefa45c025d2ca93d8e652e3b..f71301bd25b2b9daad5c9c45655311793f519195 100644
--- a/frontend/src/views/Home.vue
+++ b/frontend/src/views/Home.vue
@@ -23,14 +23,14 @@
     <MovieType />
   </div>
   <div class="movie-affichage">
-    <li v-for="movie in movies" :key="movie.id">
+    <li v-for="reco in recos" :key="reco.id">
       <p class="name">
-        <h5 class="center"> {{ movie.title }}</h5>
+        <h5 class="center"> {{ reco.title }}</h5>
       </p>
       <p class="film">
-        <router-link :to="'/movie/'+ movie.id">
+        <router-link :to="'/movie/'+ reco.id">
         <img
-          :src="'https://image.tmdb.org/t/p/original/' + movie.poster_path"
+          :src="'https://image.tmdb.org/t/p/original/' + reco.poster_path"
           withd="100"
           height="300"
         />
@@ -63,7 +63,9 @@ export default {
     return {
       moviename: "",
       movies: [],
+      recos: [],
       moviesLoadingError: "",
+      userId:""
     };
   },
   methods: {
@@ -80,6 +82,21 @@ export default {
           this.moviesLoadingError = "An error occured while e ing movies.";
           console.error(error);
         });
+    },
+    fetchRecos: function () {
+      axios
+        .get(
+           backendURL + "/reco/" + this.userId,
+        )
+        .then((response) => {
+          console.log(backendURL + "/reco/" + this.userId)
+          this.recos = response.data;
+          console.log(response.data)
+        })
+        .catch((error) => {
+          this.moviesLoadingError = "An error occured while e ing movies.";
+          console.error(error);
+        });
     },
             fetchGenres: function () {
       axios
@@ -97,8 +114,11 @@ export default {
     },
   },
   created() {
+    this.userId = this.$route.query.uid
     this.fetchMovies();
     this.fetchGenres();
+    this.fetchRecos();
+    console.log(this.userId)
   },
 };
 </script>