Internal architecture of old blog


Internal architecture of old blog

2015/10/12

Tags: Linux Django Programming

This is an article migrated from my old site which was in Django. Please keep this in mind while reading this :)

In this article, I am going to describe how this website runs and batteries associated with it.

Development

This website runs on:

Following tools are used for deployment and configuration management:

Why Django?

I have been writing blogs primarily focused on Linux at linxudo.blogspot.com. Over time, my interests expanded to different fields and I find myself seeking for a place to write about my experiences. That’s why I started using my already registered domain as a primary blogging website. I stumbled with static site generators but they were too restrictive. I wanted my own. So, I started writing a blog application in Flask. I had done about 3 medium projects based on Django earlier. I knew its power and simplicity. First I thought that Django was too much of an overkill for simple blog. When I was finishing my blog on Flask, I found myself repeating same patterns of CRUD, implementing authentication, handling logins, etc. Django would solve this out-of-the-box. I rewrote the whole application in Django. Class-based views, powerful object relational mapper along with automatic admin system made rewriting the application a breeze. I guess “For Perfectionists with Deadlines” is a beautifully chosen tagline for Django.

My recommendation: use Django if you are doing a CRUD-like data-centric applications

Making development a breeze

I will cover this topic in another blog post, with a lot of details. For now, to tell you, I develop locally on my laptop and to deploy it, all that is needed is:

$ git push production master

That’s it. Heroku style deployments on your private server.

Writing in Markdown

Who needs WYSIWWG when you have markdown. With markdown, previews are not needed. This provides a more productive environment for writing.