Результатом выполнения данного задания должно быть работающее веб-приложение, удовлетворяющее требованиям ниже и качественных исходный код. Задание должно быть выполнено полностью самостоятельно, не копируйте и не используйте код других соискателей. Постарайтесь создать грамотную композицию классов и форматировать код в соответствии со стандартами Java. Стандартный стиль форматирования Java: http://www.oracle.com/technetwork/java/codeconventions-150003.pdf
Разработать веб-приложение, включая следующие сущности и атрибуты:
- Клиент
- ФИО
- Номер телефона
- Электронная почта
- Номер паспорта
- Банк
- Список кредитов
- Список клиентов
- Кредит
- Лимит по кредиту
- Процентная ставка
- Кредитное предложение
- Клиент
- Кредит
- Сумма кредита
- График платежей
- Дата платежа
- Сумма платежа
- Сумма гашения тела кредита
- Сумма гашения процентов
Приложение должно реализовывать следующие функции:
- Добавление, редактирование и удаление сущностей.
- Процесс оформления кредита на клиента с созданием графика платежей и расчетом
необходимых сумм:
- Автоматический расчет итоговой суммы процентов по кредиту;
- Автоматический расчет суммы ежемесячного платежа с учетом процентной ставки.
Приложение должно содержать:
- Экраны для добавления/редактирования/удаления сущностей;
- Экран для формирования кредитного предложения и просмотра графика платежей, итоговой суммы по кредиту. Интерфейс пользователя должен быть простым, логичным и удобным. Обращайте внимание на то, как и какие элементы будет правильно расположить на экранах, как с ними будет взаимодействовать пользователь.
- Java 8 или 11;
- Доступ к данным через JDBC или JPA;
- Сервер баз данных: HSQLDB в in-process режиме (http://hsqldb.org/doc/2.0/guide/running-chapt.html#rgc_inprocess);
- Рекомендуется использовать шаблон проекта https://github.com/Haulmont/test-task;
- Код доступа к данным должен быть изолирован в классах DAO;
- Каждая таблица должна иметь первичный ключ типа UUID;
- Готовое приложение должно содержать:
- Каталог с исходными текстами и проектным файлом Maven (pom.xml)
- SQL-скрипт создания таблиц в базе данных в виде отдельного файла проекта.
Примечание: требуется SQL скрипт создания всех необходимых объектов в БД, написанный вручную;
- Файлы базы данных HSQLDB;
- Приложение должно подключаться к БД без необходимости старта отдельного сервера;
- Для запуска приложения должно быть достаточно собрать его при помощи Maven, как это описано для шаблона https://github.com/Haulmont/test-task.
Примечание:
- Использование JPA необязательно, при этом использование ORM и Spring/Spring Boot будет плюсом;
- Реализация UI-приложения на Ваш выбор: Swing, JavaFX, Vaadin, GWT, Servlets/JSP и т.д.