Skip to content

OpenClassRooms project : Improve and upgrade an old Symfony 3.1 project with tests and code quality/performance monitoring

Notifications You must be signed in to change notification settings

Drx85/p8_todo_and_co

Repository files navigation

p8_todo_and_co

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.

About The Project

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.

Built With

  • 🐘️ 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

Code quality

Codacy : Codacy Badge

Code Climate : Maintainability

Code coverage (tests)

Application tested with PHPUnit - Codacy : Codacy Badge

Getting Started

To get a copy up and running follow these simple steps.

PREREQUISITES

Server

Framework and libraries

  • 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)

INSTALLATION

Clone / Download

  1. Git clone the repository from this page. See GitHub Documentation

Config

  1. Open .env.example file, replace Database field with your own information, and rename it .env
  2. If you are missing any information, please ask you webhost for SMTP and Database credentials

Install all dependencies

  1. Install Composer if you don't have it yet. See Composer Documentation
  2. In your CMD, move on your project directory using cd command :
cd your/directory
  1. Run :
composer install

All dependencies should be installed in a vendor directory.

Database

  1. Create new Database in your favorite MySQL DMBS running
php bin/console doctrine:database:create
  1. Import database tables running
php bin/console doctrine:migrations:migrate
  1. (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
  2. Import fixtures running
php bin/console doctrine:fixtures:load

Server (local only)

  1. To start the server, run
symfony s:start

More documentation

  • 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.

Contact

Cédric Deperne - cedric@deperne.fr

Project Link

About

OpenClassRooms project : Improve and upgrade an old Symfony 3.1 project with tests and code quality/performance monitoring

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published