Приложение представляет собой книжный портал, где реализовано окно новостей, есть список книг, которые пользователи могут добавлять в избранное. Реализованы шаблонные страницы, например, профиль или список избранного, где информация будет отличаться в зависимости от текущего пользователя. Реализован вход/регистрация, пользователи могут быть 3 видов с разными правами: пользователь, администратор, модератор.
- Пользователь может просматривать новости, книги добавлять их в избранное.
- Модератор может то же что и пользователь, а также имеет возможность добавлять/редактировать новости и книги.
- Администратор может то же что и модератор, а также имеет возможность управлять зарегестрированными пользователями.
- Поддержка авторизации/аутентификации через JWT;
- Поддержка просмотра каталога книг, карточки книги и её изображения;
- Поддержка добавления книг в личный список избранного и просмотр этого списка;
- Поддержка просмотра новостей, их авторов, дат публикации, содержимого и изображений;
- Поддержка просмотра и редактирование профиля пользователя, включая аватар;
- Поддержка разделения пользователей на роли: пользователь, модератор, админ;
- Поддержка отображения счётчика посещений и текущего времени сервера на странице новостей, время обновляется без перезагрузки страницы.
- Приложение развертываться в виде docker compose приложения;
- Пароли хранятся в зашифрованном с помощью bcrypt виде.
- Backend: Java, Maven, Spring Boot, Spring MVC, Spring Security, Spring WebSocket (для отображения текущего времени);
- Frontend: Thymeleaf, HTML, CSS;
- Хранение данных: PostgreSQL;
- Развертывание: Docker Compose.
- Выполнить:
docker compose up; - Перейти на
localhost:8080.
Страница регистрации
Страница загрузки новости о книгах
Страница просмотра новостей
Страница просмотра списка книг
Личный кабиент администратора
Личный кабиент модератора
Личный кабиент пользователя