- Создать систему процессинга денежных средств (как в банке)
- существуют постоянно обновляемые данные о передвижении денежных средств, содержащиеся в некоторой базе данных
- система должна обрабатывать эти данные и совершать транзакции
- База данных MySQL или PostgreSQL. Структура базы данных оставлена на усмотрение исполнителя задания
- Сама система должна представлять собой вебприложение, написанное на языке Java 7-8, развернутое с помощью Tomcat 7
##Требования к системе:##
- Должна быть возможность совершать следующие операции через веб-интерфейс:
- Управлять банковскими счетами:
- добавлять/удалять банковские счета (пользовательские аккаунты)
- получать список всех существующих банковских счетов
- получать остаток средств на указанном банковском счете
- Управлять денежными средствами:
- вычитать из баланса указанную сумму с указанного банковского счета
- добавлять указанную сумму на указанный банковский счет
- переводить указанную сумму с одного банковского счета на другой
- Система должна запрещать появление отрицательного баланса на банковском счете
- Система должна обеспечивать консистентность данных при любых нагрузках
- Запрещается использовать Optimistic/Pessimistic Locking (и другие техники) средствами СУБД
- Управлять банковскими счетами: