Skip to content

certificationy/certificationy-cli

Repository files navigation

Certificationy CLI

This is the CLI tool to train on certifications.

How it looks?

Certificationy application

Installation and update

Using Composer

$ composer create-project certificationy/certificationy-cli
$ php certificationy.php

With Docker and Docker compose

Install the project prerequisites

The project has prerequisites:

To install Docker, refer to the official documentation for your operating system: https://docs.docker.com/install/.

Once Docker installed, to check its smooth running, run docker -v, you should get something like suit:

$ docker -v
Docker version 1.12.4, build 1564f02

You must use the minimum version 1.12 of Docker.

To install the docker-composer, please also refer to the official documentation: https://docs.docker.com/compose/install/.

Once docker-composes installed (install it globally to be able and access from anywhere), to check its proper functioning, run docker-compose -v, you should get something like suit:

$ docker-compose -v
Docker-composer version 1.10.0, build 4bd6f1a

You must use the docker-compose version 1.10 minimum.

A makefile allows you to manipulate the container simply and easily. You have to be able to run make -v, which you are ready to choose:

$ make -v
GNU Make 4.1
Built for x86_64-pc-linux-gnu
Copyright (C) 1988-2014 Free Software Foundation, Inc.
GPLv3 + license: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are allowed to modify and redistribute.
There is NO WARRANTY, to the extent of the will of the law.

Note: If you are using Windows, we strongly recommend that you use the Linux console included in Windows 10 (https://docs.microsoft.com/en-us/windows/wsl/install-win10) or to use an emulator for Command to be able to use make which will greatly facilitate the work.

Using the Container

You should then be able to run make which will show you using the Makefile:

$ make
start:           Start the project
bash:            Go to the bash container of the application
stop:            Stop docker containers

Start the application with make start:

$make start
docker-compose build
Building app
Step 1/19 : FROM php:7.1-fpm-alpine
7.1-fpm-alpine: Pulling from library/php
... # pulling image
Successfully built 22ab66e58936
Successfully tagged certificationycli_app:latest
docker-compose up -d
Recreating certificationycli_app_1
docker exec -i -t 6929cb80f7a7df579910341c74208e05d6d5548900488c35b41c281da9fe940e /bin/bash
bash-4.3# 

Once the procedure is complete you can already use the bash of the container.

Run Certificationy CLI;

$ php certificationy.php

To exit bash docker

$ exit 

Stop the application with make stop:

$ make stop 
docker-compose kill
Killing certificationycli_app_1 ... done

Runing it through docker composer

Start the container

Start it in daemon mode.

docker compose up -d

Run certificationy

Execute this instruction or whatever certificationy you want.

docker exec -it certificationy-cli_app_1 /bin/bash -c "php certificationy.php start --training"

Stop the container

docker compose down

More run options

Select the number of questions

$ php certificationy.php start --number=10

The default value is 20.

List categories

$ php certificationy.php start --list [-l]

Will list all the categories available.

Only questions from certain categories

$ php certificationy.php start "Automated tests" "Bundles"

Will only get the questions from the categories "Automated tests" and "Bundles".

Use the category list from List categories.

Hide the information that questions are/aren't multiple choice

$ php certificationy.php start --hide-multiple-choice

As default, the information will be displayed.

Multiple choice

Training mode: the solution is displayed after each question

$ php certificationy.php start --training

Set custom configuration file

$ bin/certificationy start --config=../config.yml

Will set custom config file.

And all combined

$ php certificationy.php start --number=5 --hide-multiple-choice "Automated tests" "Bundles"
  • 5 questions
  • We will hide the information that questions are/aren't multiple choice
  • Only get questions from category "Automated tests" and "Bundles"

Note: if you pass --list [-l] then you will ONLY get the category list, regarding your other settings.