Demo Project

Published on Oct. 5, 2015

This is my website. It is written in Python with Django as a backend to manage my database and such. I used Materialize as a CSS framework to make it follow Google's Material Design guidelines. The website runs on an apache web server, using mod-wsgi to load the application. Then, Django is used to render all the pages and logic, which is really not a lot. The content is stored in a MySQL database which Django can access. I will now elaborate these technologies further.

Apache and mod_wsgi

Apache is a well-known open source web server for modern operating systems. It runs on Linux, Windows, OS X and Netware alike and is used by many businesses and individuals worldwide. The goal of the project is to provide a secure, efficient and extensible webserver that can handle many clients at once. It has been the most popular webserver on the internet since 1996, but lately nginx has also been gaining ground. Mod_WSGI is an extension module for Apache that provides a WSGI-compliant interface to host Python 2.3+ based web applications (like Django) under Apache.


Django is a high-level Python web framework that enables developers to quickly develop new web applications and make them easily maintainable. It takes care of much of the hassle of web development like templating, database connections and layout, and url handling, so the developer can focus on writing the actual app instead of the boilerplate code. It is also free and open source.


Material design is Google's new visual language for the modern age. It is based on the classic principles of good design combined with the innovation and possibilities of new technologies. The basic gist of it is that different 'sheets' of material are layered above each other, inspired by paper and ink. Those fundamentals are key to conveying how objects move, interact and exist in space and in relation to each other. Materialize tries to bring those design guidelines to the web.

By using these technologies, I will be able to extend my website very easily, by just adding applications to the django project, while keeping an easily maintainable website. Please do take a look around the site!