From c5df714f6dce2de640691c6e3b65780244790d17 Mon Sep 17 00:00:00 2001 From: chaaanuwu Date: Sun, 5 Apr 2026 20:07:44 +0530 Subject: [PATCH 1/2] feat: Add top-rated movies feature with related API, model, and cron job --- client/src/api/tmdb.api.js | 5 ++ client/src/components/Navbar.jsx | 4 +- client/src/pages/MoviesPage.jsx | 34 +++++++++---- server/app.js | 2 + server/controllers/tmdb.controller.js | 46 +++++++++++++++++ server/controllers/trending.controller.js | 21 -------- server/cron/topRated.cron.js | 7 +++ server/cron/trending.cron.js | 2 +- server/models/topRated.model.js | 10 ++++ server/routes/tmdb.routes.js | 4 +- server/services/topRated.service.js | 60 +++++++++++++++++++++++ server/services/trending.service.js | 2 +- 12 files changed, 161 insertions(+), 36 deletions(-) create mode 100644 server/controllers/tmdb.controller.js delete mode 100644 server/controllers/trending.controller.js create mode 100644 server/cron/topRated.cron.js create mode 100644 server/models/topRated.model.js create mode 100644 server/services/topRated.service.js diff --git a/client/src/api/tmdb.api.js b/client/src/api/tmdb.api.js index af88aac..8d2d734 100644 --- a/client/src/api/tmdb.api.js +++ b/client/src/api/tmdb.api.js @@ -3,4 +3,9 @@ import axiosInstance from "./axiosInstance"; export const getTrendingMovies = async () => { const res = await axiosInstance.get('/movies/trending'); return res; +} + +export const getTopRatedMovies = async () => { + const res = await axiosInstance.get('/movies/top-rated'); + return res; } \ No newline at end of file diff --git a/client/src/components/Navbar.jsx b/client/src/components/Navbar.jsx index 3966e48..bc43600 100644 --- a/client/src/components/Navbar.jsx +++ b/client/src/components/Navbar.jsx @@ -26,7 +26,7 @@ export default function Navbar() { return (