Skip to content

suvorovis/transactions

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

transactions

install

cp config/config.dev.php config/config.php 
composer dump-autoload
docker-compose up

run

http://localhost:8080

login: test

password: 123

db

dbname: transactions

host: localhost:33060

user: transactions

pass: p@ssw0rd

task

Создать приложение по работе с финансовыми транзакциями.

Необходимо создать минимальный каркас приложения:

  • Одна точка входа;
  • Контроллеры (можно ограничиться одним);
  • Сущности (тоже хватит одной);
  • Сервис (работа с БД);

Приложение должно соответствовать конструкционному шаблону MVC.

В приложении должны присутствовать такие элементы как:

  1. Авторизация (пользователь может быть заранее добавлен в БД)
  2. Страница управления средствами аккаунта (содержит информацию о текущем балансе и Поле вывода средств с кнопкой "вывести" )

Необходимо представить, что начисление и раздача денег происходит с Вашей родной банковской карты, так что если где-то будут ошибки, то ошибки будут стоить денег.

Деньги должны быть заранее начислены на счет пользователя, то есть делать компоненты для начисления денег не нужно, только для списания (в пределах баланса пользователя). В случае списания деньги не зачисляются на другой счет, списываем "вникуда".

Сессия должна быть неблокируемой, использовать session_write_close().

Решение не должно использовать очередей, достаточно использования PHP + Mysql и понимания работ транзакций и блокировок записи в БД.

PHP-фреймворки нельзя использовать. ORM'ы нельзя использовать (если используете, то внутри должен быть native SQL).

Использовать boostrap, jQuery и прочие инструменты для html-страницы – можно, но не обязательно, упор идёт именно на серверную часть. Клиент может быть сделан даже в виде файла index.php, где через echo выводится форма. Делать html5-красивости и валидации на js нет необходимости, валидация должна быть на уровне php и базы.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published