CRS Web is a web-based conversational recommender system that allows AI recommender to recommend movies in a short conversation based on user's preference.
This project aims to provide a easy-to-use interface for users to access the conversational recommender and ask for movie recommendaation.
The features included in this projects are:
- AI-based conversational recommender for movie recommendation
- Multilingual support for English and Chinese languages
- Movie poster display based on movie keywords
- Simple user login and registration functionality
- Creation of new conversations and viewing of past conversations.
To support certain features, this project uses a modified version of CRSLab to perform tasks and communicate with the web application.
To setup this project, you need to install the following prerequisite software:
- Docker
- Docker Compose
- Python
- PIP
- NodeJS
- Yarn
- Anaconda
Then, follow the following steps to setup the project:
- Clone this repo
git clone --recursive https://github.com/redfrogsss/CRS
- To run the fronend, start a new terminal and run the following commands:
cd frontend && yarn && yarn start
- To run the backend, start a new terminal and run the following commands:
cd backend && pipenv install && pipenv run python app.py
- To run the MySQL database, start a new terminal and run the following commands:
cd mysql && docker-compose up
- To run the conversational recommender module, follow CRSLab's readme instruction inside the
CRSLab
folder.
This project was built by Jacky FAN for the Final Year Project during 2022 and 2023.
The following tech is used in this project:
- ReactJS - Frontend framework of this project
- TailwindCSS - Utility-first CSS framework for styling
- Flowbite - UI components library based on TailwindCSS
- Python Flask - Backend framework of this project
- MySQL - Database of this project
- Docker - Container platform for running MySQL
- CRSLab - Open-source toolkit for building Conversational Recommender System
- Google Search API - Google Search for searching movie poster