CRM - система для фиксации обращении от пользователя. В идеальном состоянии будет выглядеть так.
Уже сделано:
- UI;
- Базовое окно заведения заявок с полями;
- Валидация main полей.
Буду доделывать:
- Доступ к UI CRM по логину и паролю;
- Работа с разными темами web-приложения;
- Возможность приложить файлы и картинки к заявке.
- Maven, GitHub Actions, Checkstyle;
- Spring Boot;
- Spring Data;
- Vaadin framework (https://vaadin.com/);
- JDBC для конеккта к БД;
- H2 для эмуляции коннекта к БД;
- Приложение собирается в jar.
- Доменного класса Item в виде модели данных;
- Интерфейса ItemRepo для работы (в т.ч. создание таблиц) с БД в виде запросов HQL extend SQL;
- Класса ItemEditor для агрегации всех изменяемых данных в проекте;
- Класса ItemList для сборки проекта + разрисовка Grid и Layout.
- По совпадению полей. Достаточно начать вводить ключевые слова:
- Фильтры сортировки колонок ASC DESC (по возрастанию и уменьшению, реализована через компаратор JS):
- Кнопка "New application" - "Cоздания заявки":
- Поле Дата/Время, заполняется автоматически(можно изменить) текущем временем согласно UTC.
- Поле "Company name" - "Название компании":
- Поле "Select force" - "Влияние на бизнес-процессы", согласно определению в ITIL (https://habr.com/ru/company/muk/blog/265229/):
- Поле "Select SLA in hours" - "Время договорных сроков SLA в часах" (https://habr.com/ru/company/dcmiran/blog/468825/):
- Поле "Phone number" - "Номер телефона":
- Поле "Description" - "Описание обращения":
- Кнопка "Save" - "Сохранить", необходима для сохранения или изменения обращения:
- Кнопка "Cancel" - "Отмена", необходима для отмены изменений обращения:
- Кнопка "Delete" - "Удалить", необходима для удаления обращения при изменении или создании обращения: