Simple Recommendation System, content based.
Project description
FRA
Fra is a Recommendation based framework. It was created with the idea of have an option for creating content-based recommendations easily via API.
Architecture
Requirements
- pyenv (optional but recommended)
- poetry
- python 3.9+
- postgres
- redis
- docker (optional)
Installation
- create a virtualenv
pyenv virtualenv 3.9.15 fra pyenv activate fra
- create a database and update the config.py file with the name and host
psql; create database fra; \q
- install the requirements
poetry install
- migrate the models
flask --app server/app db upgrade
Running the app
- activate the environment
pyenv activate fra
- run the app
flask --app server/app run
-- For async jobs that process recommendations
> celery -A motor.tasks worker --loglevel=info
Running the app with docker
- Run the docker-compose
docker-compose up
That command will start all the services and the web server can be accessed via browser on http://localhost:5000
OpenAPI docs will be online on YOURDOMAIN/api/swagger/ui
Follow this order to be able to get recommendations:
- create an organization
- add users to the organization
- add the files with the data (some examples on example_data folder)
- add file mapping
- add user ratings
- get recommendations
TODO
- Build and publish on GCP
- Add more data set to the examples
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.