Blog / Django

Display a message to your users while waiting for a file download with jQuery File Download

November 6, 2016

jQuery Filedownload EZ Exporter Shopify App

Our Shopify app, EZ Exporter, provides an option for users to download reports on demand from the app's main page. Since it could take some time to generate the report in the background depending on the data, we needed a way to let the user know that the task is currently in progress so they don't reload the page or do something else thinking that nothing is happening. We also wanted to block the …

Easily export your Shopify orders to CSV with EZ Exporter

October 28, 2016

EZ Exporter Shopify App

Our latest Shopify app, EZ Exporter, just got published in the Shopify App Store yesterday (currently in beta status)! This is our second Shopify app and our first paid app.

With EZ Exporter, we aimed to build an exporter app that is easy to use and flexible at the same time. Right now, we're just focusing on order exports. We have plans to include options to export customer and product data as well in …

Local Django development with Docker and Python 3.5

September 18, 2016

I was chatting with a friend of mine the other day about new Shopify apps to build with Django. We decided it's finally time to start using Python 3.

Python 3 was actually released almost 8 years ago (and the programming language itself is over 25 years old!). But adoption had been slow due to backwards incompatibility with previous versions. There are tons of third-party Python libraries and if your project uses one of these …

Automatically generating and renewing Let's Encrypt SSL certificates with the certbot client and Ansible

August 11, 2016

I just finished updating my ansible-django-stack project and added tasks to automatically issue a Let's Encrypt SSL certificate and set up a cron job to auto-renew the certificate.

We're now using it for all our Shopify apps which are built in Django. Let's Encrypt certificates are only valid for 90 days, so if you have a bunch of web apps like we do and have more planned in the future, automating this process now could …

SSH tunneling and dealing with webhooks that require a trusted SSL certificate when developing locally with Django

July 15, 2016

I'm currently working on version 2 of our Shopify app where we'll be adding custom Slack slash commands. When adding slash commands to a custom app, Slack requires the receiving server to have a trusted (not self-signed) SSL certificate.

Normally, what we do is simply create a reverse SSH tunnel to our stage server which is publicly accessible to receive webhooks, for example:

ssh root@stage.example.com -R 8000:localhost:80

The above example will basically forward any traffic …