Skip to content

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

Notifications You must be signed in to change notification settings

goodquietly/news_api

Repository files navigation

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

Выполнено задание:


- Спроектировать БД.

- Реализовать API согласно ТЗ.

- Реализовать аутентификацию в АПИ.

- Выложить код в репозиторий на GitHub.

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

Условия выполнения.

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


- заголовок;

- анонс;

- текст;

- статус (опубликована, не опубликована).

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


- email;

- пароль;

Функции пользователя:


- может создавать новость;

- может обновлять/удалять свою новость;

- может добавлять новость в избранное.

Функции каталога.


- Взаимодействие с пользователем происходит посредством HTTP-запросов к API серверу.

- Все ответы представляют собой JSON объекты.

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


- только аутентифицированный пользователь может создавать/обновлять новости;

- выдача всех новостей конкретного автора;

- выдача списка авторов;

- выдача списка новостей;

- показывать запрошенную новость;

- выдача всех непрочитанных пользователем новостей.

Приложение завернуто в docker контейнер, запуск осуществляется:

Установиту докер локально. Склонируйте репозиторий:

git clone https://github.com/goodquietly/news_api.git

Находясь в папке с игрой cd news_api, выполните команду:

docker-compose up

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

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


- Ruby 3.0.1;

- Rails 7.0.3;

- БД Postgres;

- devise;

- devise-jwt;

- pundit;

- active_model_serializers;

- docker;

- docker-compose;

- postman.