"Погода: сервис должен принимать координаты или название населённого пункта и возвращать данные по текущей погоде"
- Создать и запустить локально простейший веб/REST сервис, используя любой открытый пример с использованием Java stack: Spring (Spring Boot)/maven/gradle/Jersey/ Spring MVC.
- Добавить GET ендпоинт, принимающий входные параметры в качестве queryParams в URL согласно варианту, и возвращающий любой hard-coded результат в виде JSON согласно варианту.
- Подключить в проект БД (PostgreSQL/MySQL/и т.д.). (0 - 7 баллов) - Реализация связи один ко многим @OneToMany (8 - 10 баллов) - Реализация связи многие ко многим @ManyToMany
- Реализовать CRUD-операции со всеми сущностями.
- Добавить в проект GET ендпоинт (useful) с параметром(ами). Данные должны быть получены из БД с помощью ""кастомного"" запроса (@Query) с параметром(-ами) ко вложенной сущности.
- Добавить простейший кэш в виде in-memory Map (в виде отдельного бина).
- Обработать 400 и 500 ошибки.
- Добавить логирование действий и ошибок.
- Подключить Swagger & CheckStyle. Убрать стилистические ошибки.
1.Добавить POST метод для работы со списком параметров (передаются в теле запроса) для bulk операций, организовать работу сервиса используя Java 8 (Stream API, лямбда-выражения). 2. Покрытие Unit-тестами на >80% (бизнес-логика).
- Добавить сервис для подсчёта обращений к основному сервису. Счётчик должен быть реализован в виде отдельного класса, доступ к которому должен быть синхронизирован.
- Используя jmeter/postman или любые другие средства сконфигурировать нагрузочный тест и убедиться, что счётчик обращений работает правильно при большой нагрузке.
- Сделать клиентскую часть (UI) с использованием любых технологий и/или библиотек (Spring MVC, JS-фреймворки: React, Angular и т.д.) для GET запроса (OneToMany/ManyToMany).
- Реализовать UI для добавления, удаления и обновления.
- Запустить приложение в докере.
- Разместить приложение на любой бесплатный хостинг (Render, Railway, Fly.io, Openshift и т.д.)
- Настроить CI на GitHub (Написать скрипт в репозитории для сборки исходников в jar-файл и размещения на своем хостинге).