The instructions will be divided into parts.
- Go to app folder
- Open .env and .env.test
- You Can get the following params ( MYSQL_ROOT_PASSWORD & MYSQL_USER & MYSQL_PASSWORD & MYSQL_DATABASE)
From the base directory run these steps:
- In terminal execute this command ( make start-project )
- In terminal execute this command (make composer-install)
- In new terminal execute this command (make database-inital) .
- Connect to mysql and create DB
- Put the name of db inside .env to parameter (MYSQL_DATABASE)
- In terminal execute this command (make database-update)
- After the database is updated you can execute ( make fixture-inital-project )
- Your application will be run on (http://localhost:8080/)
- I exported Json Postman to json-collections folder
- Guzzle http client: (https://docs.guzzlephp.org/en/stable/) for unit tests
- I make all review Items Dynamic From Database ( Choices & textarea) and add many items under these like ( Overall Satisfaction)
- I make custom annotation like route in symfony and plugin api in drupal if you know drupal
- the custom annotation that used ProcessorAction
- you can find this annontation class in src/app/symfony_docker/src/ProcessorActions/Annotation/ProcessorAction
- I used seralizer Idea with Groups
- I created Vico entity that can have title like ( Circle Design)
- I created Project Entity that can have many owners like ( Build A Site With Appointment )
- I created ReviewConstructionItemType Entity that can have many names like ( text & choice ) and have many ReviewConstructionItems like ( Overall Satisfaction & Communications & )
- if you create a new entity you can update schema with this command ( make database-update)
- To run Unit Test execute this command (make phpunit) and please put your IP in ( APP_URL) in (.env.test)
- To run behat Test execute this command in terminal (make behat)
- I want to make swagger but i don't have time to make it if you want from me to add swagger
- I pushed .env and .env.test to see you what i did it in these files
- I make many components to show my experience in symfony not think little about over engineering