The app use docker and docker-compose, before continue to follow the guide, please install these requirements.
There is a requirement when running Elasticsearch in Docker: https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html#_set_vm_max_map_count_to_at_least_262144
make build
make up
make open
And voilà !!! Your app is installed and ready to use.
To avoid TLS trust issues, copy the self-signed certificate from Caddy and add it to the trusted certificates :
# Mac
docker cp $(docker-compose ps -q caddy):/data/caddy/pki/authorities/local/root.crt /tmp/root.crt && sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain /tmp/root.crt
# Linux
docker cp $(docker-compose ps -q caddy):/data/caddy/pki/authorities/local/root.crt /usr/local/share/ca-certificates/root.crt && sudo update-ca-certificates
# Windows
docker cp $(docker-compose ps -q caddy):/data/caddy/pki/authorities/local/root.crt .
# Add the certificate in Computer certificates/Trusted Root Certification Athorities
There is a beautiful guide about the best practice :) You can find it on the Symfony Documentation - Best Practice.
For a better structure of the code, we use Coding standards: PSR-0, PSR-1, PSR-2 and PSR-4. You can found some informations on the synfony documentation page.
In the project you have a php-cs-fixer.phar file, the program's documentation.
make lint
You can run a set of tests: testing, linting, security check, database sync check, etc... by running a single command:
make tests
Some shortcuts are provided from a Makefile, you can list them by running:
make help
The project use many dependencies:
- Server side
- PHP
- Postgresql
- Back side
- Symfony
- Front side
- Twig
- Stimulus (hotwired)
- Turbo (hotwired)