On June 20, 2015 by Kevin Alberts
Today I have released my new website, as you can see. In this post I'll try to elaborate on the technology behind the website.
The website runs on an apache web server, using mod-wsgi to load a django 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. The frontend is styled using the Materialize CSS framework. 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.
I hope that by using these technologies, I will be able to create new and fun projects to extend my website with, and keep my website easily updatable so I can focus on fun projects. Please do take a look around the site and keep an eye out for new projects!