- About this project
- Background
- Used framewoks and libraries
- How to run project locally
- Running tests
- Deployment
- Future code development
- Authors
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
This project was made as a reference group project that was part of Buutti Trainee Academy's program.
Nextjs, NextAuth.js, TypeScript, React, Sass, React-toastify, React Hook Form, yup, Feather icons, ESLint, Prettier, Docker, tsx, argon2, PostgreSQL, Prisma, vitest, Cypress
Python, flask, gunicorn, numpy, sklearn, pandas, scipy, rapidfuzz, requests
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
cd src
npm install
npm run dev
Make sure database is running in docker
navigate ./src
npm run test
navigate ./src
npm run dev
npm run cypress:run_headless
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/
FilmFellow is deployed to Microsoft Azure: Cloud Computing Services.
Link to project: https://filmfellow.azurewebsites.net/
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