SymForum
SymForum copied to clipboard
A simple "old-school" PHP forum built with Symfony 6 and PHP 8.2
SymForum
SymForum is a simple PHP forum built with the Symfony 6 framework. This project is under development, it is not currently intended for the production. The goal is to eventually make a bundle allowing any symfony developer to add a forum on his existing site.
Features
- English and French language support for everyone
- Forums with sub-forums in categories
- Breadcrumbs, antispam, reports...
- Threads and forums locked/unlocked
- Messages with WYSIWYG, likes
- Statistics (online users record, totals...)
- Control panel for moderators and administrators
Code Quality
To get a quality code, SymForum uses:
- Linters: including PHPLint, TwigCs, ESLint and symfony linters (container, twig, xliff, yaml)
- PHP-CS-Fixer
- PHPStan (max level)
- SymfonyInsight
Getting Started
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
Prerequisites
- Docker & Docker Compose
- Make: windows users go here
Installation
All steps are detailed in INSTALLATION.md
Running the tests
Create the SQLite database (located in /var folder) :
$ docker compose exec php bin/console doctrine:database:create --env=test
Use the following command to run tests :
$ make tests
Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Acknowledgment
- Gux : OptionService, breadcrumb twig filter, help for docker implementation
- Capuchon : prototypes testings and suggestions
License
This project is licensed under the MIT License - see the LICENSE file for details.