Владимир Баханович (vvbakhanovich).
Приложение представляет мобильную версию сайта международной премии КАРДО с дополнительным фукнционалом социальной сети. Пользователи могут регистрироваться в приложении, смотреть, искать мероприятия, а также оставлять заявки на участие в этих мероприятиях. Дополнительно была реализована возможность создавать посты и прикреплять к ним изображения и видео. Пользователи могут лайкать посты, оставлять комментарии и добавлять других пользователей в друзья.
В приложении реализована аутентифицкаия и авторизация при помощи Spring Security 6. После регистрации, пользователь после входа в приложение получает два JWT токена (access и refresh токен). Для обращения по эндпоинтам используется Bearer аутентификация, в которой пользователь указывает свой access токен. В целях безопасности срок жизни access токена невелик (по умолчанию составляет 5 минут). По окончании срока жизни токена пользователь должен получить новый access токен, обратившись по соответвуюшему эндпоинту и указав при этом свой refresh токен (по умолчанию срок жизни refresh токена составляет 1 день). После окончания срока жизни refresh токена пользователю будет необходимо заново войти в приложение.
API документация доступна по ссылке.
Приложение написано на Java 17 и Spring Boot 3.
Перед сборкой и запуском приложения необходимо указать путь для хранения загружаемых файлов при помощи свойства server.file-storage.directory в application.properties.
Запустить приложение можно двумя способами.
- Предварительно создать БД POSTGRES не ниже версии 15 с именем kardo_db.
- Установить и запустить Docker. Необходимо для выполнения тестов с использованием test-containers.
- Собрать jar файл при помощи maven командой
mvn clean install
. - Запустить приложение командой
java -jar kardo-moblie-app-back.jar
. - Приложение будет доступно по адресу https:/localhost.
- Установить и запустить Docker.
- Запустить контейнер командой
docker compose up
. - Приложение будет доступно по адресу https:/localhost.