We expect you to use SOLID, GRASP principles, design patterns. Code check must be passed by phpstan, phpcs analyzers. In README file in the test task you should describe which patterns did you use and why. Only business logic code required. MVC pattern is forbidden, UI Interface is not required because there is no reason for start application. That means you should not write controllers and views.
- Implement a set of classes for managing the financial operations of an account.
- There are three types of transactions: deposits, withdrawals and transfer from account to account.
- The transaction contains a comment, an amount, and a due date.
- get all accounts in the system.
- get the balance of a specific account
- perform an operation
- get all account transactions sorted by comment in alphabetical order.
- get all account transactions sorted by date.
The test task must be implemented without the use of frameworks and databases. This is necessary in order to see your coding style, ability to understand and implement the task and demonstrate your skills.