Hestia Django Forum
Hestia is a forum platform written using Python with the Django framework.
Year: September 2017
Language: Python
Libraries/Frameworks: Django
Since watching Durarara, the idea of a mysterious password-protected forum sounded fun.
So I used this chance to make something using Django, the web framework for the Python language.
The home page presents the user with a cool rotating dodecahedron, along with the password prompt.
Features:
- Registration open to those with site password
- Forum - create threads, replies
- User profiles
- User groups
A thread view page, on a three-column layout:
The sign-up form after entering the forum password:
Django was an absolute pleasure to work with.
It feels like it was made by experienced web developers in the Python language, rather than Python developers trying to force out a web framework.
They have an official walkthrough tutorial, which gets you basically all the knowledge you need to start using Django fluently.
It was thoughtful in a way where they took the weaknesses of other frameworks and made those Django's strengths.
For example, at the time, frameworks often lacked an authentication library - meaning you had to either get the code from some random third-party and hope it's good, or write your own.
Which doesn't really make sense, considering that almost all projects requiring a framework is going to want a login system.
And so Django has one built-in.
And the same with admin-side CRUD:
As a developer you're often just creating the same "admin dashboard" pages over and over again, operating on whatever standard data models you have.
Django also has one built-in, which reads the data types and allows you to edit them appropriately:
A list view of all "Thread" objects:
A single object view of a thread, showing reply objects which belong to the thread:
It's kind of like PHPMyAdmin, but usable.
As far as web frameworks go, I think Django beats all of them.
The main issue I believe is availability of hosting, as Python processes aren't as cheap to host in the cloud.
I'd like to use it again some day.