Проект, представляет собой попытку реализовать популярный цифровой магазин "Steam" на Java с использованием фреймворка Spring Boot. Проект состоит из клиента и серверного приложения. Клиент использует Spring WebFlux. Я не стал использовать WebFlux и NoSQL базу данных для серверного приложения, чтобы применить в проекте оба подхода (реактивный клиент и обычный сервер).
На данный момент реализовано:
- авторизация через Jwt токен и его автообновление (также есть фильтр для обновления токена непосредственно в самом запросе, но там возникает проблема с параллельным обновлением в нескольких потоках);
- загрузка файлов игры;
- регистрация и смена пользователя;
- интерфейс клиента.
В интерфейсе клиента работают кнопки:
- "Stream" - смена пользователя;
- "<", ">" - отменить/повторить действие;
- "Магазин" - работает все на что можно нажать, кроме поиска. На странице игры ее можно приобрести, если она отсутствует в библиотеке. Код относящийся к bootstrap полностью взят из обучающих материалов;
- "Библиотека" - переключение между играми в библиотеке, загрузка (в случае разрыва соединения при загрузке, ее можно продолжить) и запуск игр;
Вкладки "Сообщество" и "Профиль" тоже работают (они попадают в список действий), но в них нет никаких функций.
В дальнейшем я планирую обновлять проект и добавлять новый функционал, а также исправлять ошибки.