Movie recommendation system is a demo application made for purpose of demonstrating the use cases of Structured Query Engine. User can search for a movie using various filters provided and select a movie from search results to get recommended similar results.
- Recommended versions:
Python >= 3.5.2
andNode >= 6.0.0
- Copy
sample.config.json
toconfig.json
- Use
pip install -r requirements.txt
to install python dependencies cd app/frontend && npm install
- Edit
config.json
's field according to conveinence.query_engine_url
is to be set to url of structured query engine - In the root folder, to get the
movie_metadata.csv
dowget -O movie_metadata.csv https://goo.gl/YRj8dV
- Run the structured query engine
- Feed the structured query engine using
python -m scripts.test_query_engine
- From root folder
cd app/frontend
and donpm run build
. This will generate a production build ready to be used. - Run the backend using
python start.py
- Go to
config_server_url:config_server_port
to see the app in action. - You will always need to run
npm run build
each time to change something in js files or config.json
- Run the backend using
python start.py
- From root folder
cd app/frontend
and donpm start
. This will open a page onlocalhost:3000
which will hot reloaded whenever a change is made to frontend files.
Note: You can use NVM to install versions of node.
- Built using ReactJS, React Router, React Bootstrap and Tornado Web Framework
- Single page application
- Use axios promise based AJAX requests for backend communication.
Search controller handles multi filter search requests from frontend and Recommendation controller handles gathering recommendations for a particular movie from Structured Query Engine.
- Amanpreet Singh @apsdehal
- Karthik Venkatesan @gamemaker007
- Simranjyot Singh Gill @simranjyotgill
We will like to thank our Search Engine Architecture course at NYU's professor Matt Doherty.
Apache License V2