Skip to content

Latest commit

 

History

History
52 lines (41 loc) · 2.47 KB

news_site_API.md

File metadata and controls

52 lines (41 loc) · 2.47 KB

RoR: JSON API для новостного сайта

Задание

  1. Спроектировать БД.
  2. Реализовать API согласно ТЗ.
  3. Реализовать аутентификацию в АПИ (регистрацию можно не делать).
  4. Подготовить тестовые данные (дамп базы, скрипт для генерации тестового набора данных).
  5. Покрыть код тестами.
  6. Выложить код в репозиторий на GitHub.

Формат маршрутов для доступа к методам, а также формат ответа и запросов можете выбрать и реализовать сами.

Условия

Новость Представляет собой объект новости и должен содержать следующую информацию:

  • заголовок;
  • анонс;
  • текст;
  • статус (опубликована, не опубликована).

Пользователь Содержит в себе как минимум информацию о конкретном пользователе, а именно:

  • логин;
  • пароль;
  • ФИО;
  • подпись.

Функции:

  • может создавать новость;
  • может обновлять/удалять свою новость;
  • может добавлять новость в избранное.

Функции каталога Взаимодействие с пользователем происходит посредством HTTP-запросов к API серверу. Все ответы представляют собой JSON объекты.

Сервер реализует следующие методы

  • только аутентифицированный пользователь может создавать/обновлять новости;
  • выдача всех новостей конкретного автора;
  • выдача списка авторов;
  • выдача списка новостей;
  • показывать запрошенную новость;
  • выдача всех непрочитанных пользователем новостей.

Используемые технологии

При выполнении задания используйте следующие технологии:

  • Ruby не ниже 2.5;
  • Rails 5;
  • RSpec;
  • БД Postgres;