MVC REST API - приложение, todo-список дел. Для хранения данных применяется Hibernate. Данные на главную страницу (где располагается сам список действий и интерфейс работы с ним) подгружаются через AJAX-запросы, которые возвращают данные в формате JSON. При изменении списка он так же изменяется динамически без перезагрузки страницы.
- Регистрация пользователя
- Аутентификация на сервлет-фильтрах
- Авторизация через БД PostgreSQL
- Добавление задачи в TODO-list
- Пометить задачу как выполненную
- Вывод всех задач
- Вывод только незавершённых задач
- Для каждого зарегистрированного пользователя хранится свой собственный список
- Hibernate
- Java14
- PostgreSQL
- AJAX jquery
- Servlet&JSP
- HTML, BOOTSTRAP
- Apache Tomcat Server
- Junit
- Travis CI
Проект реализован по шаблону MVC и разделён на слои:
-
Модели данных(Model)
1.1 Item - Модель для хранения данных задачи.
1.2 User - Модель для хранения данных пользователя.
1.3 Category - Модель для хранения данных пользователя.
-
Хранилища(Store)
2.1.1 UserStore - Инерфейс для Hibernate - хранилища пользователей.
2.1.2 HbrUserStore - Hibernate-хранилище для авторизационных пользователей. HbrService является родителем этого класса
2.2.1 ItemStore - Инерфейс для Hibernate - хранилища задач из TODO-списка.
2.2.2 HbrItemStore - Hibernate-хранилище для задач из TODO-списка. HbrService является родителем этого класса
2.3.1 CategoryStore - Инерфейс для Hibernate - хранилища категорий задач.
2.3.2 HbrCategoryStore - Hibernate-хранилище для категорий задач. HbrService является родителем этого класса
2.4.1 HbrService Абстрактный класс для общих переменных. HbrItemStore и HbrUserStore являются потомками этого класса
-
JSP - View
3.1 index.jsp - главная страница приложения. На ней отображаются все задачи и интерфейс взаимодействия с ними, форма для добавления новых задач.
3.2 login.jsp - страница авторизации. Поддерживает валидацию данных. Если пользователя с данным логином не существует быдет вывидено сообщение об ошибке.
3.3 reg.jsp - страница регистрации. Поддерживает валидацию даннных. Если пользователь с введённым логином уже существует, будет вывидено сообщение об ошибке.
-
Сервлеты - Controller
4.1 LoginServlet - Сервлет авторизации. Принимает запрос с JSP, производит валидацию введённых пользователем данных, существует ли в PostgreSQL хранилище такой пользователь. В случае успешной авторизации, добавляет пользователя в Http-сессию.
4.2 RegServlet - Сервлет регистрации. Принимает запрос с JSP, производит валидацию. В случае успешной регистрации добавляет нового пользователя в PostgreSQL- хранилище и переводит на страницу авторизации.
4.3 IndexServlet - Сервлет обмена данными.
- doGet метод - отправка актуальных данных о списке задач в формате JSON в ответ на AJAX-запрос на главную страницу приложения.
- doPost метод: Добавление новой задачи в хранилище.
4.4 DoneServlet -
Сервлет для пометки задания как выполненого.
-
Фильтры
5.1 LoginFilter - Блокирует доступ неавторизованному пользователю ко всем страницами приложения, кроме страниц авторизации и регистрации.
4.2 CORSFilter - Cross-Origin-Resource-Sharing фильтр. Допускает междоменные запросы, когда клиент и сервер находятся на разных машинах.
Маркелов Роман Игоревич
Java-разработчик
+79178764086