|
|
@ -0,0 +1,88 @@ |
|
|
|
# Persons protection simulator |
|
|
|
|
|
|
|
## Requirements |
|
|
|
|
|
|
|
To run this project smoothly, you will need to install and have a basic knowledge of the following tools: |
|
|
|
- docker |
|
|
|
- docker-compose |
|
|
|
- make |
|
|
|
|
|
|
|
To be able to contribute, you will need a good knowledge of: |
|
|
|
- PHP ;) |
|
|
|
- symfony 5 |
|
|
|
|
|
|
|
|
|
|
|
## Getting started |
|
|
|
|
|
|
|
All commands are ran from the project root folder |
|
|
|
|
|
|
|
|
|
|
|
### Define environment variables |
|
|
|
|
|
|
|
Duplicate the `.env.dist` file in a `.env` file in the root folder and define the environment variables. |
|
|
|
|
|
|
|
|
|
|
|
### Building the docker images |
|
|
|
|
|
|
|
```bash |
|
|
|
docker-compose build |
|
|
|
``` |
|
|
|
|
|
|
|
This will build an initial image "app" containing: |
|
|
|
- nginx |
|
|
|
- PHP FPM with common extensions |
|
|
|
- the current application code with the dependencies |
|
|
|
|
|
|
|
|
|
|
|
### Running the docker containers |
|
|
|
|
|
|
|
```bash |
|
|
|
docker-compose up |
|
|
|
``` |
|
|
|
|
|
|
|
or in the background |
|
|
|
|
|
|
|
```bash |
|
|
|
docker-compose up -d |
|
|
|
``` |
|
|
|
|
|
|
|
No extra step should be required to get a running application. |
|
|
|
|
|
|
|
You should now be able use your web browser to access: |
|
|
|
- the app: <http://127.0.0.1> |
|
|
|
|
|
|
|
|
|
|
|
### Connect to containers for CLI interactions |
|
|
|
|
|
|
|
- Connect to the web server container |
|
|
|
|
|
|
|
````bash |
|
|
|
docker-compose exec app /bin/bash |
|
|
|
```` |
|
|
|
|
|
|
|
|
|
|
|
### development standard and reports generation: |
|
|
|
|
|
|
|
- run phpunit, a unit test tool. Report is generated in reports folder: |
|
|
|
|
|
|
|
```bash |
|
|
|
make test |
|
|
|
``` |
|
|
|
|
|
|
|
- run phpmetrics tool. Report is generated in reports folder: |
|
|
|
|
|
|
|
```bash |
|
|
|
make phpmetrics |
|
|
|
```` |
|
|
|
|
|
|
|
- run phpstan tool to check style. (no reports generated => requires update in phpstan.neon): |
|
|
|
|
|
|
|
```bash |
|
|
|
make phpstan |
|
|
|
```` |
|
|
|
|
|
|
|
- run phpmd, a static analysis tool . Report is generated in reports folder: |
|
|
|
|
|
|
|
```bash |
|
|
|
make phpmetrics |
|
|
|
```` |