This repository hosts the code for our homepage at https://jabber.at.
The homepage is still an evolving project, with many features unifinished, maybe buggy, etc.
- Python 3.6+, Django 3.0+
- A webserver and a database (anything that works with Django)
- An XMPP-server, this project interfaces with it via xmpp-backends.
- A pretty standard blog including static pages.
- Vary some behavior depending on the hostname used, e.g. a different logo on example.com, example.net and example.zone.
- A contact page, with GPG encryption if the user added keys.
- Verious tasks are performed asynchronously using a Celery worker. This adds fast response times even if an operation takes a while (e.g. fetching keys, keyservers are notoriously slow) and dynamic retries (e.g. fetching keys, keyservers are notoriously unreliable).
- Registration and password reset for XMPP users directly on the homepage.
- Authentication is performed against the XMPP server, the password is never stored locally.
- Users can add GPG keys to encrypt emails (password reset, ...) with GPG.
- Manage XEP-0363 uploads.
The documentation is located at https://jabber.at/doc.
See ChangeLog.md
- Tags and comments on blog posts.
- Search functionality.
These are a bit further down the road.
- Some account settings integration (e.g. ability to configure MAM settings)
- Security stuff (e.g. from where you logged in recently, ...)
- Notifications/verifications of new logins (e.g. from new countries), maybe?
bootrap inspiration for styling the blog: