Hello everyone!
I want to share this project I’ve been working on for a while now with the Django community.
PunkwebBB
PunkwebBB’s goal is to provide a full-featured forum board package under the BSD license, with an emphasis on being easy to install and configure. It can be easily installed into a new or existing Django project. It is currently being used in production to host it’s own documentation and community, and I know of at least one other site using it in production. With that being said, it is currently usable, and will continue to be improved on.
My hope is that this is useful to some Django developers out there.
Built with
- Django
- HTMX
- jQuery
- bbcode
- markdown
- SCEditor
- TinyMDE
History
PunkwebBB is actually my second iteration on building a Django forum board package. I worked on my first iteration for several years, and it worked very well. The reason I decided to abandon the other project and rewrite it is because I have ~8 more years worth of experience working with Django now than when I started the first iteration, and there were things I knew I could do better this time around. Another big reason was that I wanted to utilize HTMX to make the site feel more modern.
Features
- Extremely easy to setup. Provides a perfectly usable forum board to any new or existing Django project out of the box.
- Supports both BBCode and Markdown.
- Clean and modern interface.
- WYSIWYG editor closely matches what will actually be posted when creating threads/posts.
- Utilizes HTMX to implement thing such as dialog windows, polling, and more, without any client side JavaScript or JSON APIs.
- Utilizes the built-in Django groups and permissions system to enable administrative and moderator capabilities directly from the forum itself.
- Built with Django best practices in mind for templates and static files, so changing layouts and styling is possible.
- Shoutbox widget with polling and a restricted BBCode parser. Zero Javascript. Can be disabled in your project’s settings if you prefer not to have a shoutbox.
- Optional Discord widget integration.
- Basic documentation is available, more advanced documentation is being worked on.
- Significant test coverage.
Roadmap
The project is still in it’s infancy, and as such, the focus has mostly been on creating an extremely stable core that can be built upon. At this point, I believe that has been more or less accomplished, and I’ll be able to focus on additional functionality that you’d expect to see in a forum board.
Here are some of the features/systems that I plan to include in later releases:
- Searching/filtering of threads
- Searching/filtering of members
- Private messaging
- Enhanced administrative capabilities, such as the ability to ban users and IP addresses
- Reputation system
- Badge system
- Reporting system
- Improved customization and documentation.
I’ve put a great deal of thought and effort into this package, so I figured I might as well create a post here about it. Hopefully someone out there finds this package useful and can save themselves some time by using it.
Thank you!