cp config/config.dev.php config/config.php
composer dump-autoload
docker-compose up
login: test
password: 123
dbname: transactions
host: localhost:33060
user: transactions
pass: p@ssw0rd
Создать приложение по работе с финансовыми транзакциями.
Необходимо создать минимальный каркас приложения:
- Одна точка входа;
- Контроллеры (можно ограничиться одним);
- Сущности (тоже хватит одной);
- Сервис (работа с БД);
Приложение должно соответствовать конструкционному шаблону MVC.
В приложении должны присутствовать такие элементы как:
- Авторизация (пользователь может быть заранее добавлен в БД)
- Страница управления средствами аккаунта (содержит информацию о текущем балансе и Поле вывода средств с кнопкой "вывести" )
Необходимо представить, что начисление и раздача денег происходит с Вашей родной банковской карты, так что если где-то будут ошибки, то ошибки будут стоить денег.
Деньги должны быть заранее начислены на счет пользователя, то есть делать компоненты для начисления денег не нужно, только для списания (в пределах баланса пользователя). В случае списания деньги не зачисляются на другой счет, списываем "вникуда".
Сессия должна быть неблокируемой, использовать session_write_close().
Решение не должно использовать очередей, достаточно использования PHP + Mysql и понимания работ транзакций и блокировок записи в БД.
PHP-фреймворки нельзя использовать. ORM'ы нельзя использовать (если используете, то внутри должен быть native SQL).
Использовать boostrap, jQuery и прочие инструменты для html-страницы – можно, но не обязательно, упор идёт именно на серверную часть. Клиент может быть сделан даже в виде файла index.php, где через echo выводится форма. Делать html5-красивости и валидации на js нет необходимости, валидация должна быть на уровне php и базы.