ShareIt — REST-сервис для аренды вещей между пользователями.
ShareIt позволяет пользователям делиться своими вещами, бронировать их на нужное время, оставлять отзывы, создавать запросы на недостающие вещи и откликаться на запросы других пользователей. Проект разделен на два модуля: Gateway и Server.
-
shareIt-gateway
Отвечает за валидацию входящих запросов, аутентификацию и маршрутизацию вызовов к основному сервису.
Запускается на порту8080
. -
shareIt-server
Основная бизнес-логика, работа с базой данных, обработка запросов.
Запускается на порту9090
.
Модули связаны через REST API, для взаимодействия используется RestTemplate
.
- Управление пользователями и вещами (CRUD)
- Поиск и фильтрация вещей
- Бронирование вещей с подтверждением владельцем
- Оставление отзывов после аренды
- Создание и просмотр запросов на новые вещи
- Добавление вещей в ответ на запросы других пользователей
- Валидация и фильтрация некорректных запросов на стороне Gateway
- Java 21
- Spring Boot 3
- Spring Data JPA, Hibernate
- PostgreSQL
- Maven
- REST API
- Lombok
- JUnit 5, Mockito, MockMvc
- Postman
- Склонируйте репозиторий
git clone https://github.com/valeriyek/java-shareit
-
В корне выполните команду сборки:
mvn clean install
-
Запустите сервисы:
-
Gateway: cd shareIt-gateway mvn spring-boot:run
-
Server: cd shareIt-server mvn spring-boot:run
-
- Для API реализованы интеграционные тесты с использованием MockMvc
- DTO покрыты тестами сериализации через
@JsonTest
- Сервисный слой покрыт юнит-тестами с Mockito и Spring Boot Test
- Для проверки API можно использовать подготовленные коллекции Postman
Запуск тестов:
mvn test