Реализовать API для подписки на новости.
API должно выполнять следующие задачи:
- Подписка пользователя по email на нужную рубрику
- Удаление подписки на конкретную рубрику
- Удаление подписки на все рубрики
- Отображение подписок пользователя и отображение всех пользователей переданной рубрики
- Эти данные должны быть доступны только после авторизации. Например через открытый\закрытый ключ с последующим использование токена. (Ключи выдаются доверенному приложению которое и будет отображать данные из API (реализация приложения не требуется))
- Так как этих данных может быть много, то этим методы должны принимать дополнительные параметры limit и offset ограничивающие выдачу.
- Уметь отдавать ответы в разных форматах (json\xml) на выбор.
- Фреймворк Laravel (на самом деле любой современный фреймворк подойдет, но Laravel предпочтительнее так как мы разрабатываем с его использованием)
- Миграции
- Валидация параметров.
Будет плюсом:
- реализация RESTful API
- API покрыто тестами
Не обязательное:
Подержка версионности API с наследованием функционала. Версия передается в заголовке request.
- В v2 нужно добавить:
- К методу подписки обязательный параметр "Имя пользователя".
- Новый метод который генерирует ключ для возможности отписки. Этот ключ должен быть уникальным для каждой рубрики у каждого пользователя. Метод для удалении подписки должен принимать этот ключ вторым параметром.
Коммиты стараться делать логически осмысленными, разбивая функционал на части. Сообщения коммита должны описывать что было сделано.