Тестовое задание Junior Golang Developer Effective Mobile спроектировать и реализовать онлайн-подписках пользователей.
1 Выставить HTTP-ручки для CRUDL-операций над записями о подписках. Каждая запись:
1 Название сервиса, предоставляющего подписку
2 Стоимость месячной подписки в рублях
3 ID пользователя в формате UUID
4 Дата начала подписки (месяц и год)
5 Опционально дата окончания подписки
2 Выставить HTTP-ручку для подсчета суммарной стоимости всех подписок за выбранный период с фильтрацией по id пользователя и названию подписки
3 СУБД – PostgreSQL. Должны быть миграции для инициализации базы данных
4 Покрыть код логами
5 Вынести конфигурационные данные в .env/.yaml-файл
6 Предоставить swagger-документацию к реализованному API
7 Запуск сервиса с помощью docker compose
1 Проверка существования пользователя не требуется. Управление пользователями вне зоны ответственности вашего сервиса
2 Стоимость любой подписки – целое число рублей, копейки не учитываются
Пример тела запроса на создание записи о подписке:
{
“service_name”: “Yandex Plus”,
“price”: 400,
“user_id”: “60601fee-2bf1-4721-ae6f-7636e79a0cba”,
“start_date”: “07-2025”
}