Getting my site up and running

Published on April 29th, 2017

Background

I use my personal site as my playground for learning new skills. I host it myself on a server I maintain, and try to give it the latest and greatest features as I learn them. Because of time and use-case, that's not always something I can follow through on, but I'm trying to be better about it going forward.

Current State (as of April 2017)

  • Backend: I built this site using Django 1.10 and serve it up with Gunicorn and Nginx. Data is stored to PostgreSQL. Site content and page layout is managed through a Wagtail CMS.
  • Frontend: Most of the Javascript is plain ol' jQuery. The site uses Bootstrap for responsiveness and helper classes. Behind the scenes I'm compiling the CSS with Sass.  I'm not using any frontend JS frameworks currently.
  • Devops: The site is housed on a Digital Ocean droplet running Ubuntu 16.04. App workers are restarted via Supervisor. New code is deployed with a Fabric script. Error logging is done through Sentry.io. Version control/issue tracking is done through Git/GitHub.

Things I'd Like To Do

  1. Docker-ize the app to make builds and deployments easier.
  2. Set up Jenkins for Continuous Integration/Deployment
  3. Experiment with some fancier frontend development on a few sub-modules. I've done a bit of ReactJS but want to really solidify this.
  4. See why people keep talking about Kubernetes.
    https://twitter.com/dexhorthy/status/856639005462417409

  5. Experiment with different Django configurations. Today I'm playing around with CookieCutter Django and hope that this (combined with the aforementioned deep, abiding mastery of Docker) will help me spin up new projects quickly and easily.
  6. Adding proper levels of test coverage.

I'll be posting updates and hopefully even some tutorials as I go through this process, so stay posted!