Skip to content

Repository files navigation

ShareIt

Описание

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

Стек технологий

  • Java: Основной язык программирования.
  • Spring Boot: Фреймворк для создания веб-приложений.
  • Spring Data JPA: Для работы с базой данных и управления сущностями.
  • Hibernate: ORM для работы с базой данных.
  • Maven: Инструмент для управления зависимостями и сборки проекта.
  • PostgreSQL: Система управления базами данных (можно заменить на другую при необходимости).
  • REST API: Архитектурный стиль для взаимодействия между клиентом и сервером.
  • Lombok: Библиотека для упрощения написания кода.
  • MapStruct: Для маппинга между объектами.
  • JUnit: Для написания тестов.

Структура проекта

Сервер (Server)

  • Модели: Определяют структуру данных, такие как User, Item, Booking, Comment и другие.
  • Контроллеры: Обрабатывают HTTP-запросы и взаимодействуют с сервисами. Например, UserController, ItemController, BookingController.
  • Сервисы: Содержат бизнес-логику. Например, UserService, ItemService, BookingService.
  • DTO: Объекты передачи данных, такие как UserDto, ItemDto, BookingDto, используются для обмена данными между клиентом и сервером.
  • Исключения: Определяют пользовательские исключения и обработчики ошибок, такие как MyNotFoundException, DuplicatedException.

Шлюз (Gateway)

  • Клиенты: Используют RestTemplate для взаимодействия с сервером. Например, UserClient, ItemClient, BookingClient.
  • Контроллеры: Обрабатывают HTTP-запросы на уровне шлюза и передают их на сервер. Например, UserController, ItemController, BookingController.
  • DTO: Определяют структуры данных для запросов, такие как UserDTO, ItemAddDto, CommentAddDto.

Использование

Запуск проекта

  1. Убедитесь, что у вас установлен JDK и Maven.
  2. Клонируйте репозиторий.
  3. Перейдите в директорию проекта и выполните команду:
mvn clean install
  1. Запустите сервер и шлюз:
mvn spring-boot:run

API

  • Пользователи:

    • POST /users: Создание нового пользователя.
    • PATCH /users/{id}: Обновление информации о пользователе.
    • GET /users/{id}: Получение информации о пользователе.
    • GET /users: Получение всех пользователей.
    • DELETE /users/{id}: Удаление пользователя.
  • Вещи:

    • POST /items: Добавление новой вещи.
    • PATCH /items/{itemId}: Обновление информации о вещи.
    • GET /items: Получение всех вещей.
    • GET /items/{itemId}: Получение информации о вещи.
    • GET /items/search: Поиск вещей по тексту.
    • POST /items/{itemId}/comment: Добавление комментария к вещи.
  • Бронирования:

    • POST /bookings: Создание нового бронирования.
    • PATCH /bookings/{bookingId}: Подтверждение бронирования.
    • GET /bookings: Получение всех бронирований для пользователя.
    • GET /bookings/owner: Получение всех бронирований для владельца вещи.
    • GET /bookings/{bookingId}: Получение информации о бронировании.

About

Система для бронирования вещей

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages