Сервис для шеринга (от англ. share — «делиться») вещей. Шеринг как экономика совместного использования набирает сейчас всё большую полярность.
Проект обмена вещами, возможно далеко похожее на Avito.
- вынес DTO в отдельный модуль
- отсортировал тесты по модулям
- Docker-compose
- gateway images
- server images
- postgres images
- Разбить приложение ShareIt на два — shareIt-server и shareIt-gateway. Они будут общаться друг с другом через REST.
- Вынести в shareIt-gateway всю логику валидации входных данных — кроме той, которая требует работы с БД.
- Вся работа в этом спринте будет вестись в ветке add-docker.
Небольшой рефакторинг, оптимизация кода.
- Тесты для Сервисов
- Тесты для Мапперов
- Тесты для Контроллеров
- тесты для репозирориев
- тесты на DTO JsonTest
- В этом спринте разработка будет вестись в ветке add-item-requests
- новый запрос вещи.
- получить список своих запросов вместе с данными об ответах на них
- получить список запросов,
- получить данные об одном конкретном запросе вместе с данными об ответах на него.
- добавить возможность создавать запрос вещи и добавлять вещи в ответ на запросы других пользователей.
- пользователи могут оставлять отзывы на вещь после того, как взяли её в аренду.
- JPARepository для Comment
- Теперь нужно, чтобы владелец видел даты последнего и ближайшего следующего бронирования для каждой вещи, когда просматривает список (GET /items).
- JpaRepository для Booking
- JpaRepository для Users
- JpaRepository для Items
- проставил аннотации JPA для моделей
- Напишисал SQL-код для создания всех таблиц и сохраните его в файле resources/schema.sql
В этом спринте разработка будет вестись в ветке add-bookings
- добавил зависимость spring-boot-starter-data-jpa и драйвер postgresql в файл pom.xml.
- ItemController
- UserController
- User модель
- Item модель
Создание структуры данных
- User
- Item
- Booking
- Requests
У вас уже готов шаблон проекта с использованием Spring Boot. Создайте ветку add-controllers и переключитесь на неё — в этой ветке будет вестись вся разработка для первого спринта.
Template repository for Shareit project.