Improve and upgrade an old Symfony 3.1 project, with tests and code quality/performance monitoring, to Symfony 5.3, Twig 3, and Bootstrap 5.
I made this project to improve my skills in Symfony tests and migration versions, in the context of my PHP/Symfony OpenClassRooms formation. Your comments and suggestions are welcome.
- 🐘️ PHP 8.0.9
- ⛵ phpMyAdmin 5.0.2
- 🐬 MySQL 5.7.31
- ✒️Apache 2.4.46
- ⛕️Git 2.31.1.windows.1
- 🌿 Twig 3
- 🖊️ Draw.io for UML
- 🐬 MySQL Workbench for UML
Application tested with PHPUnit - Codacy :
To get a copy up and running follow these simple steps.
- PHP > 8.0.9
- SMTP server with mailing service or XAMPP/WAMP for local use (mails will not work in local)
- MySQL DMBS like phpMyAdmin : https://docs.phpmyadmin.net/fr/latest/setup.html
- Symfony > 5.3.7
- Libraries will be installed using Composer
- CSS/JS libraries are directly called via CDN (Bootstrap 5.1.1, Font Awesome 5, Select 2)
- Git clone the repository from this page. See GitHub Documentation
- Open .env.example file, replace Database field with your own information, and rename it .env
- If you are missing any information, please ask you webhost for SMTP and Database credentials
- Install Composer if you don't have it yet. See Composer Documentation
- In your CMD, move on your project directory using cd command :
cd your/directory
- Run :
composer install
All dependencies should be installed in a vendor directory.
- Create new Database in your favorite MySQL DMBS running
php bin/console doctrine:database:create
- Import database tables running
php bin/console doctrine:migrations:migrate
- (Optional) If you want an admin account, you can open src\DataFixtures\UserFixtures.php, go bellow comment, and then set the username + email + password you want. Otherwise, an admin account will be created with theses default values : username : admin, email: your-email@gmail.com, password : demo
- Import fixtures running
php bin/console doctrine:fixtures:load
- To start the server, run
symfony s:start
- Please open the file Authentication_FR.pdf (in french) to get more information about how works current Symfony 5.3.7 authentication system.
- Code quality & performances PDF file (in french) explains current code quality and show old application performances compared to current performances.
Cédric Deperne - cedric@deperne.fr