This is a very simple example of an e-commerce website to sell designs for 3D printing using Authentise design streaming.

It's a work in progress, has a lot of restrictions and is meant to be a starting point for people building their own stores.

In addition to Authentise, the services used are: Stripe, Mailgun, and Heroku.

Learn more about Authentise design streaming at

Please leave your comments and suggestions. Feedback and pull requests are very welcome.

Special thanks to Jennie Lees. Most of this code was written under her watch and pretty much all this wonderful step-by-step tutorial has been written by her. Visit her portfolio:

Running locally

First, get it ready to run locally:

  1. API Key
  2. Sandbox Domain URL (should look like "" Both of these pieces of information can be found on the landing page of the Mailgun control panel.

$ psql
create database store;
$ export STRIPE_SECRET_KEY="your_stripe_TEST_secret_key"
$ export STRIPE_PUBLISHABLE_KEY="your_stripe_TEST_publishable_key"
$ export AUTHENTISE_API_KEY="your_authentise_key"
$ export MAILGUN_API_KEY="your_mailgun_api_key"
$ export MAILGUN_SANDBOX_DOMAIN_URL="your_mailgun_sandbox_domain_url"
$ git commit -a -m "My custom store"
$ git push

Deploying it

$ heroku login
Enter your Heroku credentials.
Authentication successful.
$ pip install gunicorn
vim Procfile

You should be in the VIM editor now. Press the key 'i' in your keyboard.

Paste or type the followin line:

web: gunicorn app:app --log-file=-

Press the key 'ESC' on your keyboard.

Type ':w' and then ':q'

To make sure it's done, display the file content doing:

$ cat Procfile

Check this works with 'foreman':

$ foreman start
$ git add Procfile
$ git commit -m "Getting ready for Heroku"
$ heroku create
$ git push heroku
remote: -----> Discovering process types
remote:        Procfile declares types -> web
remote: -----> Compressing... done, 37.2MB
remote: -----> Launching... done, v3
remote: deployed to Heroku
remote: Verifying deploy.... done.

You can then visit that URL in your browser.

$ heroku rename my_store_name

Now your URL will be ''.