- Official page: http://whiskyton.herokuapp.com/
- Authors: Eduardo Cuducos and Gabriel Vicente
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.
This is our very first project in Python (and we are not professional coders) -- so all feedback is important to help us through our learning process. Don't hesitate to criticize our code and software design! To be true, that is what we are expecting :)
-
Clone the repository:
$ git clone git@github.com:cuducos/whiskyton.git
. -
Go to the repository folder:
$ cd whiskyton
(if you want, get your virtualenv running there). -
Install the dependencies:
$ pip install -r requirements.txt
. -
You should have the
coffee
command line tool working: probably$ apt-get install nodejs
and$ npm install coffee-script
should do the job. -
Create and feed the database:
$ python manage.py db upgrade
. -
Run the server:
$ python manage.py runserver
.
If you wanna deploy to Heroku, you need to use heroku-buildpack-multi.
To run tests: $ nosetests
.
Nose has serious 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.
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).
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
.
We had a lot of Python teachers, we are so glad we could count on you, guys:
- Joe Warren, Scott Rixner, John Greiner and Stephen Wong, from the An Introduction to Interactive Programming in Python course at Coursera
- Allen B. Downey and Jeff Elkner, authors of Think Python: How to Think Like a Computer Scientist
- Miguel Grinberg and his The Flask Mega-Tutorial
- Everyone who have ever contributed to The Hitchhiker’s Guide to Python!
- Everyone who helped at Reddit, mainly these guys here and here
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.
Copyright (c) 2015 Eduardo Cuducos and Gabriel Vicente
Licensed under the MIT license (see MIT-LICENSE file)