Приложение для шеринга вещей. Предоставляет пользователям возможность рассказывать, какими вещами они готовы поделиться, а также находить нужную вещь и брать её в аренду на какое-то время.
- Java 22
- Spring Boot
- Spring JDBC
- PostgreSQL
- Maven
- JUnit
- REST API
- Mockito
Требуется заголовок X-Sharer-User-Id с ID текущего пользователя в каждом запросе (кроме GET /items/{itemId} — доступно без авторизации).
Тело и ответы — JSON.
POST /bookings— создать бронированиеPATCH /bookings/{bookingId}?approved={true|false}— подтвердить/отклонитьGET /bookings/{bookingId}— получить бронирование по idGET /bookings?state={state}— список бронирований текущего пользователя (как букер)GET /bookings/owner?state={state}— список бронирований на вещи пользователя (как владелец)
Требуется заголовок X-Sharer-User-Id с ID текущего пользователя в каждом запросе. Тело и ответы — JSON.
POST /items— создать вещьGET /items— список вещей владельцаGET /items/search?text={text}— поиск вещей по текстуGET /items/{itemId}— получить вещь по IDPATCH /items/{itemId}— обновить вещьDELETE /items/{itemId}— удалить вещьPOST /items/{itemId}/comment— оставить комментарий к вещи
Требуется заголовок X-Sharer-User-Id с ID текущего пользователя в каждом запросе. Тело и ответы — JSON.
POST /requests— создать запрос вещиGET /requests— список запросов текущего пользователяGET /requests/all— список запросов других пользователейGET /requests/{requestId}— получить запрос по ID
POST /users— создать пользователяGET /users— получить список всех пользователейGET /users/{userId}— получить пользователя по IDPATCH /users/{userId}— обновить пользователяDELETE /users/{userId}— удалить пользователя