Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ShareIt

Общая информация

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

Технологический стек: Java 21, Spring Boot, Spring Data JPA, PostgreSQL, H2, Maven, REST, JUnit 5, Mockito, Lombok.

Основная функциональность

Пользователи (users)

  • создание пользователя
  • обновление данных пользователя
  • получение информации о пользователе
  • удаление пользователя

Вещи (items)

  • добавление новой вещи
  • редактирование информации о вещи
  • получение списка вещей пользователя
  • поиск вещей по текстовому запросу

Комментарии

  • добавление комментария о вещи только после завершения бронирования
  • получение всех комментариев о вещи

Бронирование (bookings)

  • создание бронирования
  • подтверждение бронирования владельцем вещи
  • получение списка бронирований пользователя и владельца вещи

Запросы вещей (requests)

  • создание запроса на необходимую вещь
  • получение списка запросов
  • просмотр запросов других пользователей

Архитектура проекта

Проект реализован как multi-module Maven приложение и состоит из двух модулей:

  • gateway — обработка HTTP запросов и валидация данных
  • server — бизнес-логика и работа с базой данных

Тестирование

Проект покрыт несколькими типами тестов.

Unit тесты

Тестируют работу контроллеров, обработку HTTP-запросов и проверку валидных и невалидных данных. Используемые инструменты:

  • JUnit 5
  • MockMvc
  • Spring Boot Test

Тесты сериализации JSON

Проверяют корректность преобразования DTO объектов в JSON и обратно. Используемые инструменты:

  • @JsonTest
  • Jackson ObjectMapper

Интеграционные тесты

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

  • SpringBootTest
  • H2 Database
  • Transactional tests

About

Template repository for ShareIt project.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages