Explore what your community could build.
FeaturesBUILD Building blocks your community can combine. Comparison tableCOMPARE How Bonfire differs from other community platforms. Case studiesSTORIES How communities are shaping Bonfire for their needs. About BonfireABOUT The project, principles, and people behind it. Try Bonfire at the campground ↗ Launch your BonfireChoose how much you want to run yourself.
Self-hostDIY Your infrastructure and some sysadmin comfort. Cooperative hostingHOST Your own space without a sysadmin job. Co-design with usWITH For communities, organisations and funders with specific needs. Compare all three routes → EcosystemFind people, answers, and tools around Bonfire.
ParticipateJOIN Contribute, collaborate, or help sustain the commons. FAQsASK Licensing, federation, privacy, and governance. DocumentationDOCS Setup guides and technical reference for hosts and builders. Browse the source code ↗ Blog Get started
Bonfire.UI.Messages is an extension that includes some User Interfaces (routes, pages and components) for messaging in Bonfire.
You can customise it by forking, but we recommend creating an extension which uses this one as a dependency, and defines your custom components, views, and/or routes (you can then comment Bonfire.UI.Messages.Routes from your top-level Router to use your custom routes and views instead).
So far, Bonfire UI extensions are built with the PETALS stack (note that is not a requirement), which means:
Surface is a server-side rendering component library (built on top of Phoenix and LiveView) that inherits a lot of design patterns from popular JS framework like Vue.js and React, while being almost JavaScript-free compared to common SPAs.
The relevant folders are:
Copyright (c) 2020 Bonfire, and CommonsPub Contributors
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public
License along with this program. If not, see https://www.gnu.org/licenses/.