https://github.com/kapetrosyan1/java-shareit
  
  
    Приложение для сдачи в аренду вещей  
    https://github.com/kapetrosyan1/java-shareit
  
docker hibernate java-11 junit maven mockito postgresql spring-boot webclient-springboot
        Last synced: 8 months ago 
        JSON representation
    
Приложение для сдачи в аренду вещей
- Host: GitHub
- URL: https://github.com/kapetrosyan1/java-shareit
- Owner: kapetrosyan1
- Created: 2024-02-19T16:09:52.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-06-28T16:36:00.000Z (over 1 year ago)
- Last Synced: 2025-01-01T22:04:41.253Z (10 months ago)
- Topics: docker, hibernate, java-11, junit, maven, mockito, postgresql, spring-boot, webclient-springboot
- Language: Java
- Homepage:
- Size: 93.8 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
- 
            Metadata Files:
            - Readme: README.md
 
Awesome Lists containing this project
README
          # java-shareit
Мое первое многомодульное приложение, состоящее из двух микросервисов. 
В данном приложении пользователи могут сдавать в аренду свои вещи, а также оставлять запросы на добавление новых вещей, которые они бы хотели взять в аренду.
_**Используемый стэк**_: Spring Boot, JUnit, Mockito, RestTemplate, Hibernate, Maven, SQL, PostgreSQL, Postman
# Функциональность
Приложение состоит из двух микросервисов:
- gateway (микросервис, который осуществляет валидацию входных данных, после чего перенаправляет запрос в основной сервис посредством Rest Template)
- server (основной сервис, в котором реализована основаня функциональность)
Основной функционал приложения:
- Создание, обновление и удаление пользователей
- Получение пользователей
  - Всех
  - По идентификатору
- Создание запроса на добавление вещи
- Получение запросов на добавление вещи (всех либо получение по идентификатору)
- Добавление, обновление и удаление вещей
- Поиск вещей
  - Всех
  - По идентификатору
  - По владельцу
  - По названию либо описанию вещи
 - Добавление комментария к вещи пользователем, который ее бронировал
 - Добавление запроса на бронирование вещи
 - Подтверждение либо отклонение запроса на бронирование собственником вещи
 - Поиск бронирований
   - По идентификатору
   - По арендатору и статусу бронирования (пользователь может видеть только свои бронирования)
   - По собственнику вещи и статусу бронирования (пользователь может видеть бронирования только к своим вещам)
   # Тестирование
   Свыше 90% кода покрыты тестами. При написании тестов использовалась библиотека Mockito. Кроме того, было написано 3 интеграционных теста.
   # Диаграмма базы данных
   