To run project execute:
docker compose up
Install composer dependencies required for project.
docker compose exec app composer install
Migrate database schema to make database up to date.
docker compose exec app bin/console doctrine:migrations:migrate -vvv --no-interaction
Load test questions to the database to be able to run test.
docker compose exec app bin/console doctrine:fixtures:load
-
The entry point to the application is the console command "app:test:run". Run console command:
docker compose exec app php bin/console app:test:run
-
The application will ask for your name. You need to provide your first name and last name respectively.
-
The program will give you questions and answers in random order. You need to enter one or more right answers by entering a value of answers or its option number separated by a comma char.
-
After all questions you will see stats with correct and incorrect answers details.
The project consists of 3 folders in src one.
- Domain (business logic)
- Infrastructure (code related to network IO. like, database, controllers, cli-commands)
- UseCases (entry points to use cases)
Run phpunit
docker compose exec app vendor/bin/phpunit --testdox
Run coding standard checker.
docker compose exec app vendor/bin/ecs
Run syntax analyzer.
docker compose exec app vendor/bin/phpstan
Check database schema validity.
docker compose exec app bin/console doctrine:schema:validate
Check database schema validity.
docker compose exec app composer validate