Coder Social home page Coder Social logo

abhas-dev / certificationy-cli Goto Github PK

View Code? Open in Web Editor NEW

This project forked from certificationy/certificationy-cli

0.0 0.0 0.0 116 KB

The CLI tool to train certifications

License: MIT License

Shell 1.21% PHP 90.43% Makefile 3.48% Dockerfile 4.87%

certificationy-cli's Introduction

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.