Пользователь-хозяин создает вещи и меняет их статус - доступны/недоступны для обмена. Другие пользователи могут бронировать вещи (бронирование также имеет несколько статусов) для чего требуется согласие хозяина вещи. Пользователю, который ранее бронировал вещь доступна возможность оставить о ней комментарий. В приложении реализован поиск по названию и описанию вещи, пагинация при просмотре вещей и бронирований, разные представления вещи для хозяина и потенциальных арендаторов.
Приложение реализовано с использование Spring Boot, Hibernate, имеет REST API, данные хранятся в PostgreSQL, передача объектов на веб-сервис организована на основе паттерна DTO. Реализована простая микросервисная архитектура: сервисы gateway (паттерн Proxy), server (бизнес-логика), db (PostgreSQL). Реализована возможность развертывания микросервисов в отдельных контейнерах docker, взаимосвязи между контейнерами прописаны в docker-compose. Для тестирования приложения написаны JUnit тесты, JPA-тесты, интеграционные тесты с использование библиотеки Mockito.