Второе задание. Trello API

Задача

  1. Создать RESTful API с авторизацией для Trelloarrow-up-right на Ruby on Railsarrow-up-right.

  2. Спроектировать структуру БД при помощи dbdiagram.io

Сущности

  • пользователь

  • колонка

  • карточка

  • комментарий

Один пользователь может иметь несколько колонок. Одна колонка может иметь несколько карточек. Одна карточка может иметь несколько комментариев.

Требования

  1. Создать авторизацию пользователя через емейл + пароль (предварительно создаем модель пользователя). В ответ пользователь должен получать JWT токен, который мы будем прикреплять в Authorization headers и таким образом будем идентифицировать пользователей на backend. Используем gems devicearrow-up-right, devise_token_autharrow-up-right.

  2. Подключаем базу данных PostgreSQL.

  3. Создать модели и реляционные связи между ними (пользователь, колонка, карточка, комментарий).

  4. Создать CRUD. Эндпоинты по REST-у. Например юзера мы создаем через POST /users, конкретного юзера получаем через GET /users/{id}, колонки юзера получаем через GET /users/{id}/columns, удаляем через DELETE /users/{userId}/columns/{id} Более подробно читаем в интернете про конвенции RESTful API.

  5. Должны валидировать все данные которые отправляет нам пользователь. Валидация на емейл, строку, число, количество символов и т.д.

  6. Должны проверять имеет ли право пользователь менять/удалять колонку/карточку/коммент (является ли владельцем этой сущности).

  7. Если API метод возвращает данные, то это обязательно должен быть json объект или массив, а не просто строка или просто цифра.

  8. Используем для документации Postmanarrow-up-right.

Last updated