A simple, easy to use app that helps you organize and manage collections of bucket lists. Bucket lists are a cool way to keep track of all the oh-so-great-and-mighty things you plan to do before you...erm, die.
- A simple and responsive web app. You can try it out here.
- RESTful, well documented API. See the API documentation here.
Some of the technologies leveraged in building The BucketList App include:
- Django - Python web development framework for building web apps quickly and with less code.
- Django REST Framework - powerful and flexible toolkit for building Web APIs in Django.
- PostgreSQL - relational database management system.
- Swagger UI - tool for interactive documentation of RESTful APIs
- Bower - front end javascript dependency manager.
- MaterializeCSS - modern responsive front-end framework based on Material Design.
- jQuery - fast, small, and feature-rich JavaScript library.
- Packery - a clever grid and bin-packing layout library.
- Flickity - a front-end library for responsive, flickable galleries.
Follow the steps below to install The BucketList App on your local machine:
-
Ensure you have Python >= 2.7 installed. You can get it here. Using a virtual environment is also recommended.
-
Ensure you have npm and bower installed. You can get npm here.
-
Ensure you have PostgreSQL installed and create a database with the name
bucketlist
. -
Clone this repository to your machine.
-
In the project root, add a
.env.yml
file to hold all your environment variables, such your secret key (required) and database credentials e.g:SECRET_KEY: 'very-very-very-secret-key' DATABASE_USER: 'foo_user' DATABASE_PASSWORD: 'youcannotguessme'
-
Install all python and front end dependencies by running the followings commands in order, from in the project root:
$ npm install -g bower $ bower install $ pip install -r requirements.txt
-
To setup static files and database migrations, run (also in the project root):
$ bucketlist/python manage.py collectstatic $ python bucketlist/manage.py makemigrations $ python bucketlist/manage.py migrate
Run $ bucketlist/python manage.py runserver
to start the server.
-
To run tests:
$ python bucketlist/manage.py test --settings=bucketlist.settings.testing
-
For the coverage report:
$ coverage run --source=dasboard,api bucketlist/manage.py test bucketlist --settings=bucketlist.settings.testing
$ coverage report
$ coverage html
Some of the high-fidelity mockups created for the UI have been included in this repo in the /mockups
folder.
GNU GPL