A Django Project containing multiple applications (including a Discord Bot) that can be used by game server communities to host their information and keep track of players.
Currently the app only supports Minecraft servers, and is under heavy development. I plan to release this as a CMS similar to Enjin (but better!), however there is a long list of features to be implemented still. Stay tuned! As of now, basic instructions for deploying the application are provided on the repository. Full documentation will be written as the application matures.
- User profiles/authentication using a password, with MFA via TOTP available
- Authentication using Discord OAuth2, utilizing the same model as the above type of user
- Accept donations from users, automatically giving benefits to donating users in our running servers and Discord.
- Forms used by users to apply for staff on the server
- API built to serve HTML snippets fetched using ajax/htmx. Most of the website is served this way.
- Displaying all attributes of information about each server such as their specific rules, banned items, voting links, and announcements.
- The application also includes a Discord Bot, which keeps track of announcements made on the discord server, and adds them to the database as "announcements". These announcements can be keyed to servers as "server announcements", or as Global announcements, depending on the context of the message sent in Discord. This asynchronous bot is run alongside Django, utilizing Threads and a custom BotThreadManager object to manage those threads.