Skip to content

ZCW-Data2-2/FinalProject

Repository files navigation

Book Recommender Application

A collaborative-based filtering recommendation system.

Creators

Tom Lafferty: https://github.com/TomLafferty
Efe Cantekin: https://github.com/Efe-C-3
Christine Roethel: https://github.com/croethel

Project Summary

Book recommendation system that is able to take 6 different user inputs based on user ratings of book categories and returns a machine learning based recommendation of 20 books identified by similiar existing users behaviors.

Additionally, the book recommendation system can currently search pre-existing users (based on User ID) and render 10 book recommendations based on what similiar users have also reviewed.

Screenshots

Production

Currently deployed to Heroku, recommendations are currently not functional due to Heroku memory limitations.
Existing code can be successfully ran locally (note: data set is currently connected to S3 bucket, would need to configure dotenv library and .env directory locally)

Maintanance version deployed to:
https://bookrecommender22.herokuapp.com/

Stack

Python
Django
Postgresql (when deployed)
SQLite3 (when ran local)
AWS S3
TensorFlow
Scikit-learn
Heroku
Pandas

Local Usage

Book recommender can be installed via Pip. To start, clone the repo to your local computer and change into the proper directory.

$ python3 -m venv bookrec
$ source bookrec/bin/activate
(bookrec) $ pip install -r requirements.txt
(bookrec) $ python manage.py makemigrations
(bookrec) $ python manage.py migrate
(bookrec) $ python manage.py createsuperuser
(bookrec) $ python manage.py runserver
# Load the site at http://127.0.0.1:8000

Data set source credit

https://www.kaggle.com/jirakst/bookcrossing
(Adjusted column names 'User-ID', 'Book-Rating' and 'Book-Title' to 'UserID', 'BookRating' and 'BookTitle' in all .csv files)

Flowchart

Initial:


Current:

About

Christine / Tom / Efe

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •