A wine recommender system tutorial using Python technologies such as Django, Pandas, or Scikit-learn, and others such as Bootstrap.
Python HTML
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
tutorials Update tutorial_3.md Sep 15, 2015
winerama Added clustering-based suggestions Sep 10, 2015
.gitignore Added gitignore Aug 24, 2015
LICENSE Create LICENSE Apr 26, 2016
README.md Update README.md Jun 26, 2016



A web recommender tutorial tutorial using Python technologies such as Django, Pandas, or Scikit-learn, and others such as Bootstrap.

Join the chat at https://gitter.im/jadianes/winerama-recommender-tutorial

This repository contains the code for a wine reviews and recommendations web application, in different stages as git tags. The idea is that you can follow the tutorials through the tags listed below, and learn the different concepts explained in them. The tutorials include instructions on how to deploy the web using a Koding account. However, Koding recently moved from solo to team accounts and the link provided to my Koding account deployment of the tutorial result is not working anymore. The tutorial can still be followed with no problem at all.


The following tutorials will guide you through each of the previous Git tags while learning different concepts of data product development with Python.

A Wine Review Website using Django and Bootstrap

Adding User management

Providing wine recommendations using K-Means


  • stage-0: an empty repo.
  • stage-0.1: a Django project with one app called reviews. The app defines model entities.
  • stage-0.2: admin site up and running for our model entitities Wine and Review.
  • stage-0.3: views and templates are available.
  • stage-0.4: add review form added.
  • stage-0.5: template reuse.
  • stage-1: added Bootstrap 3 for Django.
  • stage-1.1: add_review now requires login. Added login templates and menu sesion links.
  • stage-1.2: a user reviews page created.
  • stage-2: user management done.
  • stage-2.1: Scripts to load CSV available + data loaded.
  • stage-2.2: An empty wine suggestions view has been added.
  • stage-2.3: Suggestions view now shows wines not reviewed by the user.
  • stage-2.4: Added cluster model object and manually created three clusters.
  • stage-2.5: Suggestions view now makes use of cluster information.
  • stage-3: K-means clustering based recommendations provided.


Feel free to contact me to discuss any issues, questions, or comments.


This repository contains a variety of content; some developed by Jose A. Dianes, and some from third-parties. The third-party content is distributed under the license provided by those parties.

The content developed by Jose A. Dianes is distributed under the following license:

Copyright 2016 Jose A Dianes

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at


Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
See the License for the specific language governing permissions and
limitations under the License.