FroZerHinG (From Zero to Hiring) is a CLI tool developed in PHP.
It get all transactions for a customer, based on it's ID.
They are converted to € if original currency is different.
FroZerHinG use
- "Laravel Zero" to manage CLI commands.
- PHP 7.3+ (Required by Laravel zero to run)
- Pest (Testing framework)
To install FroZerHinG, run the commands below
git clone https://github.com/haxl00/frozerhing.git
composer install
Rename .env.example to .env (root folder)
By default, FroZerHinG list all commands available in the application
NOTE: If APP_ENV != "local", only custom commands are displayed in command list
php frozerhing
Basic command
php frozerhing transactionlist {customerId}
Command help
php frozerhing help transactionlist
FroZerHinG use "Pest" as testing framework, because it is build on top of PHPUnit but it is embedded in "Laravel Zero".
To run test, launch (in Windows or *nix environment)
vendor\bin\pest
./vendor/bin/pest
Due to the purpose of this project, I have decided to use a micro-framework to provide a complete example of using third party software.
Reading and filtering of csv source is all "hand made" (voluntarily) to show how I solve complex problems via code.
*This is the list of edited / created files (including framework files)
- config/app.php {edited}
- config/commands.php {edited}
- config/custom.php {created}
- config/logging.php {edited}
- .env.example {created}
- .gitignore {created}
- phpunit.xml {edited}
- README.md {created}
- app/Commands/TransactionList.php {created}
- /app/Controllers/*.* {created}
- /app/Exceptions/*.* {created}
- /app/Helpers/*.* {created}
- /app/Models/*.* {created}
- /app/Persistence/*.* {created}
- /tests/Feature/TransactionListCommandTest.php {created}
- /tests/Unit/*.* {created}