Skip to content

Fullstack movie data application where users can find information about different movies with reviews and ratings and get recommendations. Movie data is fetched from TMDB API

Notifications You must be signed in to change notification settings

Moiman/FilmFellow

Repository files navigation

FilmFellow

Table of contents

About this project

Fullstack movie data application where users can find information about different movies with reviews and ratings and get recommendations. Movie data is fetched from TMDB API

Background

This project was made as a reference group project that was part of Buutti Trainee Academy's program.

Used frameworks and libraries

Client and backend:

Nextjs, NextAuth.js, TypeScript, React, Sass, React-toastify, React Hook Form, yup, Feather icons, ESLint, Prettier, Docker, tsx, argon2, PostgreSQL, Prisma, vitest, Cypress

Recommender model:

Python, flask, gunicorn, numpy, sklearn, pandas, scipy, rapidfuzz, requests

How to run project locally

Start the database and recommender and run latest migration

Copy .env.example to .env in the root folder and inside ./src

docker compose up postgres recommender

After database and recommender are running

navigate to ./src
npm run prisma:migration
npm run prisma:seed

(Optional add admin to database)

navigate to ./src
npm run init-admin

start Nextjs frontend + backend

cd src
npm install
npm run dev

Running tests

Make sure database is running in docker

Vitest

navigate ./src
npm run test

Cypress

navigate ./src
npm run dev
npm run cypress:run_headless

Recommendations

Movie recommendations are given with a Flask app. ML methods are used in the app to calculate similar movies based on ratings or movie features and user recommendations based on user's ratings and favourited movies. It has three endpoints for different kinds of recommendations. The recommender uses MovieLens dataset with roughly 80,000 movies and 30 million ratings.

https://grouplens.org/datasets/movielens/

Deployment

FilmFellow is deployed to Microsoft Azure: Cloud Computing Services.

Link to project: https://filmfellow.azurewebsites.net/

Future code development

The source code can be developed over time to handle new features. The following is a list of potential feature enhancements:

  • Password recovery and email authentication.
  • Realtime communication between users
  • Show movie theater where movie can be seen
  • Localization

Authors

About

Fullstack movie data application where users can find information about different movies with reviews and ratings and get recommendations. Movie data is fetched from TMDB API

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published