ShareIt – микросервисное приложение, которое обеспечивает возможность сохранять информацию о пользователях и вещах, доступных для аренды. Оно также позволяет создавать запросы на бронирование, обрабатывать их (принимать или отклонять) и дает возможность пользователям оставлять комментарии.
Сервис Gateway осуществляет проверку запросов на их валидность и, при успешной проверке, перенаправляет запросы на сервер.
Сервис Server предоставляет пользователю возможность регистрации и редактирования своих данных. Также пользователи могут добавлять вещи, доступные для аренды, и после аренды оставлять отзывы о них. Пользователи имеют возможность оставлять запросы на конкретные вещи и бронировать их. Кроме того, пользователи могут получать информацию о прошлых и будущих бронях вещей.
90% кода приложения покрыто тестами JUnit, база данных для тестирования – H2. Каждый сервис доступен в виде докер-образа, который можно загрузить с dockerHub. Для запуска приложения предлагается использовать файл docker-compose.yml.
В проекте используется реляционная база данных PosgreSQL. Структура базы данных представлена на ER-диаграмме: