$ docker-compose up --build -d
- Coverage
$ docker-compose exec phpfpm php /usr/bin/composer.phar test-coverage
Tests
$ docker-compose exec phpfpm php /usr/bin/composer.phar test
├── Business # Classes business
│ ├── Account.php
│ ├── Model
│ │ ├── AccountInterface.php
│ │ ├── AuthorizationInterface.php
│ │ ├── ModelInterface.php
│ │ ├── TransactionInterface.php
│ │ └── WalletInterface.php
│ ├── Transaction.php
│ └── Wallet.php
├── Events # Events
│ ├── Event.php
│ └── TransactionEvent.php
├── Exceptions
│ └── Handler.php
├── Http
│ ├── Controllers # Controllers
│ │ ├── AccountController.php
│ │ ├── Controller.php
│ │ └── TransactionController.php
│ └── Inputs # Request Inputs
│ ├── AccountInput.php
│ ├── InputAbstract.php
│ ├── InputInterface.php
│ ├── TransactionCreditInput.php
│ └── TransactionInput.php
├── Listeners # Listeners
│ ├── NotificationListener.php
│ └── NotificationProvider
│ ├── Http
│ │ └── NotificationProviderHttp.php
│ └── NotificationProviderInterface.php
├── Models # Models
│ ├── Account.php
│ ├── Authorization.php
│ ├── Transaction.php
│ └── Wallet.php
├── Providers # Providers
│ ├── EventServiceProvider.php
│ └── Http
│ ├── AdapterProviderHttp.php
│ └── AdapterProviderInterface.php
├── Repository # Repositories
│ ├── AccountRepository.php
│ ├── AuthorizationRepository.php
│ ├── TransactionRepository.php
│ └── WalletRepository.php
└── Services # Services
├── AccountService.php
├── AuthorizationProvider
│ ├── AuthorizationProviderInterface.php
│ └── Http
│ └── AuthorizationProviderHttp.php
├── AuthorizationService.php
├── TransactionService.php
└── WalletService.php
POST /account
{
"name": "FULL NAME",
"document": "14253678955",
"email": "email@email.com",
"type": "business" # person or business
}
POST /transaction/credit
{
"value" : 100,
"payer" : 1 # Account ID
}
POST /transaction
{
"value" : 100,
"payer" : 1, # Account ID
"payee" : 2 # Account ID
}