Приложение, которое поможет найти компаньона для путешествия, похода в кино или другого совместного занятия.
Реализован функционал оценок и отзывов пользователей, фильтра, рекомендаций, поиска.
Стек: Java, Spring Boot, SQL, H2, JdbcTemplate, JUnit.
Open in editor.swagger.io
-
Main-service: ewm-main-service-spec.json
-
Stat-service: ewm-stats-service-spec.json
ТЗ
ТЗ. Часть 1
Первый этап — реализация сервиса статистики.
На первом этапе необходимо:
- Реализовать сервис статистики в соответствии со спецификацией: ewm-stats-service.json.
- Реализовать HTTP-клиент для работы с сервисом статистики.
- Подготовить сборку проекта.
- Определиться с тематикой дополнительной функциональности, которую вы будете реализовывать.
Разработка должна вестись в публичном репозитории, созданном на основе шаблона.
Весь код первого этапа разместите в отдельной ветке с именем stat_svc
.
- Работающая сборка проекта:
- проект компилируется без ошибок;
- сервис статистики успешно запускается в докер-контейнере;
- экземпляр PostgreSQL для сервиса статистики успешно запускается в докер-контейнере.
- Корректная работа сервиса статистики:
- все эндпоинты отрабатывают в соответствии со спецификацией;
- данные успешно сохраняются и выгружаются из базы данных;
- реализован HTTP-клиент сервиса статистики.,
ТЗ. Часть 2
Пришло время реализации основного сервиса! Для начала просмотрите ещё раз техническое задание и изучите спецификацию API основного сервиса.
Реализация должна вестись в отдельной ветке с именем main_svc
. Эта ветка должна основываться на ветке main
,
в которую слиты изменения предыдущего этапа.
- Работающая сборка проекта:
- проект компилируется без ошибок;
- основной сервис и сервис статистики успешно запускаются в Docker-контейнерах;
- для каждого сервиса запускается свой экземпляр PostgreSQL в Docker-контейнере.
- Корректная работа основного сервиса:
- все эндпоинты отрабатывают в соответствии со спецификацией;
- данные успешно сохраняются и выгружаются из базы данных;
- основной сервис и сервис статистики корректно взаимодействуют;
- реализация работы с данными не производит лишней нагрузки на базу данных.
ТЗ. Часть 3
Реализация дополнительной функциональности (comments — комментарии к событиям). На этом этапе вам предстоит, во-первых, реализовать саму функциональность, а также написать базовые Postman-тесты, которые будут проверять её работоспособность.
Реализация должна вестись в отдельной ветке с именем feature_comments.
- Работоспособность сервисов, реализованных на предыдущих этапах.
- Наличие базовых Postman-тестов. Они должны проверять коды ответов спроектированных вами эндпоинтов в рамках реализации выбранной функциональности.
- Полнота и корректность реализации выбранной функциональности.
Вам нужно экспортировать Postman-коллекцию и сохранить её в папке Postman.
Сам файл должен называться feature.json
. Путь к файлу в репозитории
должен быть postman/feature.json
.