Skip to content

bc418/java-shareit

Repository files navigation

java-shareit

Краткое описание

Приложение для шеринга вещей. Предоставляет пользователям возможность рассказывать, какими вещами они готовы поделиться, а также находить нужную вещь и брать её в аренду на какое-то время.

Технологии и стек

  • Java 22
  • Spring Boot
  • Spring JDBC
  • PostgreSQL
  • Maven
  • JUnit
  • REST API
  • Mockito

API-эндпоинты

Booking API (/bookings)

Требуется заголовок X-Sharer-User-Id с ID текущего пользователя в каждом запросе (кроме GET /items/{itemId} — доступно без авторизации). Тело и ответы — JSON.

  • POST /bookings — создать бронирование
  • PATCH /bookings/{bookingId}?approved={true|false} — подтвердить/отклонить
  • GET /bookings/{bookingId} — получить бронирование по id
  • GET /bookings?state={state} — список бронирований текущего пользователя (как букер)
  • GET /bookings/owner?state={state} — список бронирований на вещи пользователя (как владелец)

Item API (/items)

Требуется заголовок X-Sharer-User-Id с ID текущего пользователя в каждом запросе. Тело и ответы — JSON.

  • POST /items — создать вещь
  • GET /items— список вещей владельца
  • GET /items/search?text={text} — поиск вещей по тексту
  • GET /items/{itemId} — получить вещь по ID
  • PATCH /items/{itemId} — обновить вещь
  • DELETE /items/{itemId} — удалить вещь
  • POST /items/{itemId}/comment — оставить комментарий к вещи

Item Request API (/requests)

Требуется заголовок X-Sharer-User-Id с ID текущего пользователя в каждом запросе. Тело и ответы — JSON.

  • POST /requests — создать запрос вещи
  • GET /requests — список запросов текущего пользователя
  • GET /requests/all — список запросов других пользователей
  • GET /requests/{requestId} — получить запрос по ID

User API (/users)

  • POST /users — создать пользователя
  • GET /users — получить список всех пользователей
  • GET /users/{userId} — получить пользователя по ID
  • PATCH /users/{userId} — обновить пользователя
  • DELETE /users/{userId} — удалить пользователя

About

Template repository for ShareIt project.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published