Welcome
Welcome to bulletinbored
bulletinbored is minimal, extensible forum software with zero dependencies. Upload files and run — no Composer, no Docker, no deployment needed.
Why bulletinbored?
- ⚡ Zero Dependencies — No Composer, no Docker, no Node.js. Just PHP 8.x with PDO. Upload the files and you’re live.
- 🗄️ SQLite & MySQL — Choose your database. SQLite works out of the box; MySQL is supported via
config.json. - 🔌 Plugin System — Extend functionality with plugins. Hooks, custom routes, middleware, dependencies, and settings API.
- 🎨 Theme System — Themes work like plugins: create a folder with a
style.cssand change the forum’s look. - 🔗 SEO-Friendly URLs — Clean URLs like
/thread/1-slugand/category/2-namevia rewrite rules. - 🛡️ User Management — Registration, profiles with avatars, roles, moderation, private messages, and notifications built in.
- 🔐 Centralized Authorization — Role-based permissions with
AuthZ, ownership-aware checks, andcan:*middleware. Nois_admin()bypasses. - 🌐 Localization — Multilingual support via JSON translation files (EN ships with the core; add more under
lang/). - 🔄 Auto Updates — Update Manager with preflight checks, backup/restore, and GitHub Releases integration.
- 🖥️ Admin Panel — Full dashboard: categories, users, moderation, settings, plugins, themes, catalog, updates.
- 🧪 Zero-dependency Testing — 1242 assertions covering auth, content, migrations, plugins, renderer, and security.
Repository
- Core: https://github.com/bulletinbored/bulletinbored-core
- Plugins/Themes catalog: https://github.com/bulletinbored/bulletinbored-core/blob/master/data/catalog.json
Quick Start
- Upload all files to a PHP-enabled web server (PHP 8.x, PDO/SQLite or PDO/MySQL extension)
- Ensure Apache
mod_rewriteis enabled (for SEO-friendly URLs) - Ensure the
data/,uploads/, anduploads/avatars/directories are writable by the web server - Visit the site in your browser — the 3-step installer starts automatically
See Installation for the full guide.
Documentation
- Architecture — Understand the MVC structure, manager system, and directory layout.
- API Reference — Public helpers, hooks, managers and core services for plugins/themes.
- Route Map — Every HTTP route, handler, middleware and entrypoint.
- Action Handlers — Core request handlers, their modules and protections.
- Configuration — Database, email, themes, localization, and update server settings.
- Rendering — Micro template engine: escaping, components, slots, view composers.
- CLI & Migrations — Zero-dependency CLI (
bb.php), migration system,doctordiagnostics. - Plugin Development — Create plugins with hooks, custom routes, CLI commands.
- Theme Development — Build custom themes with a single
style.cssfile. - Managers — PluginManager, ThemeManager, and UpdateManager in detail.
- Localization — Add new languages and manage translation files.
- Testing — Zero-dependency test suite, E2E flow tests.
- Versioning — Semantic versioning and release management.
- Database — Lightweight query builder (DbQuery), immutability, pagination.
- Security Model — Trust model, known risks, hardening options, trusted proxies.
License
BSD Zero Clause — see License.