Skip to content

cuducos/whiskyton

Repository files navigation

Whiskython

About

This web based app uses an open database about whisky to help you find whiskys you'd probably like. It uses mathematics to run through the tastes classified in that database, and to find the best matches. We were inspired by this data visualization shared on Reddit.

What really matters

This was our very first project in Python.

Installation

  1. Clone the repository:
    $ git clone git@github.com:cuducos/whiskyton.git.
  2. Go to the repository folder:
    $ cd whiskyton
    (if you want, get your virtualenv running there).
  3. Install the dependencies:
    $ pip install -r requirements.txt.
  4. Create and feed the database:
    $ python manage.py db upgrade.
  5. Run the server:
    $ python manage.py runserver.

Tests

To run tests: $ nosetests.

Nose has difficulties in finding tests in executable files. That said, you might wanna change the permissions of the tests files: $ chmod -x $(find whiskyton/tests/ -name '*.py').

Some tests use your local Firefox through Selenium. So get the server running before running tests.

Managing the application

Charts cache

If you want to get rid of all the cached SVG charts: $ python manage.py charts delete.

If you want to create all possible charts and cache the SVG files: $ python manage.py charts create (it is not necessary, the app creates and caches them on the fly; however pre-caching them can optimize page loading time).

Page views data

If you want to export analytics data (date, whisky and page views) as a CSV file to an external FTP server, you will need to set these ENV variables: FTP_SERVER, FTP_USER and FTP_PASSWORD. Once you have these variables, just run: $ python manage.py analytics save.

Thanks

We had a lot of Python teachers, we are so glad we could count on you, guys:

In sum, we had the best teachers of the world in Python. Any mistake here is completely our fault.

Also we are glad to have contributions from Henrique Bastos, Lucretiel, Justin Velluppillai and Chris Loverchio.