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 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 firstname.lastname@example.org: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
coffeecommand line tool working: probably
$ apt-get install nodejsand
$ npm install coffee-scriptshould do the job.
Create and feed the database:
$ python manage.py db upgrade.
Run the server:
$ python manage.py runserver.
To run tests:
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').
Managing the application
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
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.
Copyright (c) 2015 Eduardo Cuducos and Gabriel Vicente
Licensed under the MIT license (see MIT-LICENSE file)