Skip to main content

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

Architecture diagram

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:

  1. create an organization
  2. add users to the organization
  3. add the files with the data (some examples on example_data folder)
  4. add file mapping
  5. add user ratings
  6. 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.

Source Distribution

fra-2.4.0.tar.gz (90.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fra-2.4.0-py3-none-any.whl (22.3 kB view details)

Uploaded Python 3

File details

Details for the file fra-2.4.0.tar.gz.

File metadata

  • Download URL: fra-2.4.0.tar.gz
  • Upload date:
  • Size: 90.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.4.0 CPython/3.10.6 Linux/5.19.0-38-generic

File hashes

Hashes for fra-2.4.0.tar.gz
Algorithm Hash digest
SHA256 5cc23549517fff40cb2da4dc8e322a1ef5b05213822bb8c89b5be4ebd91b8393
MD5 dadd38f5983231e51db24f458a701d49
BLAKE2b-256 8c0285df5792faf806243012740953e1a39abf64f43a8548275592a935ec4337

See more details on using hashes here.

File details

Details for the file fra-2.4.0-py3-none-any.whl.

File metadata

  • Download URL: fra-2.4.0-py3-none-any.whl
  • Upload date:
  • Size: 22.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.4.0 CPython/3.10.6 Linux/5.19.0-38-generic

File hashes

Hashes for fra-2.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ec187b1505d59ca03fea8854d9c552f56d49bb486fde5f764e1728c2548c8df6
MD5 57cdbf341ab7f4f56d5ed6664f0ef255
BLAKE2b-256 a07cc85a978333f9c05b8923026ee240c1c13749adaaab4875a398ffd3cdfb9a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page