Skip to content

mantulo/testing-system

Repository files navigation

Installation:

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

Application use case:

  1. 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
  2. The application will ask for your name. You need to provide your first name and last name respectively.

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

  4. After all questions you will see stats with correct and incorrect answers details.

Project structure:

The project consists of 3 folders in src one.

  1. Domain (business logic)
  2. Infrastructure (code related to network IO. like, database, controllers, cli-commands)
  3. UseCases (entry points to use cases)

Dev-tools usage:

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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published