From Zero to kind of a hero: Getting your Python side project ready for deployment by Sewagodimo Matlapeng

7b0645f018c0bddc8ce3900ccc3ba70c?s=47 Pycon ZA
October 12, 2018

From Zero to kind of a hero: Getting your Python side project ready for deployment by Sewagodimo Matlapeng

One evening, my little sister asked me for help with her homework at 9pm. She had already asked her classmates on a WhatsApp group, but nobody was able to help as all her peers had the same limited resources available to them. This gave me the idea for Buza (Zulu for “ask”), a platform for high school learners to ask questions that could be answered by volunteer university students in their free time.

Buza is the first side project of mine that I’ve ever truly wanted to deploy. After months of coding and adding loads of features, I finally reached out to a senior developer to help me deploy my truck of features. The first thing she said was “A lot of this code will have to be replaced with production-ready code”. These are words you never want to hear.

University Computer Science equipped me with the ability to write code to solve problems, but in industry extra skills were required to build production-ready software. This talk will share the valuable lessons I learned from getting this Django web app production-ready. This will start with how to choose the right tools, framework, environment for your project. I will also cover how to set up testing and continuous integration for your project.

What I will cover (Zero to Hero):

  • No code is the best code

  • Framework: DJango

  • Environment: Pipenv

  • Static Tests: Flake8, Mypy (checks types), isort(sorts imports)

  • Test Driven Development

  • Automated testing: Tox and Travis

  • Code Coverage


Pycon ZA

October 12, 2018