Второе задание. Trello API
Задача
Создать RESTful API с авторизацией для Trello на Ruby on Rails.
Спроектировать структуру БД при помощи dbdiagram.io
Сущности
пользователь
колонка
карточка
комментарий
Один пользователь может иметь несколько колонок. Одна колонка может иметь несколько карточек. Одна карточка может иметь несколько комментариев.
Требования
Создать авторизацию пользователя через емейл + пароль (предварительно создаем модель пользователя). В ответ пользователь должен получать JWT токен, который мы будем прикреплять в Authorization headers и таким образом будем идентифицировать пользователей на backend. Используем gems device, devise_token_auth.
Подключаем базу данных PostgreSQL.
Создать модели и реляционные связи между ними (пользователь, колонка, карточка, комментарий).
Создать CRUD. Эндпоинты по REST-у. Например юзера мы создаем через POST /users, конкретного юзера получаем через GET /users/{id}, колонки юзера получаем через GET /users/{id}/columns, удаляем через DELETE /users/{userId}/columns/{id} Более подробно читаем в интернете про конвенции RESTful API.
Должны валидировать все данные которые отправляет нам пользователь. Валидация на емейл, строку, число, количество символов и т.д.
Должны проверять имеет ли право пользователь менять/удалять колонку/карточку/коммент (является ли владельцем этой сущности).
Если API метод возвращает данные, то это обязательно должен быть json объект или массив, а не просто строка или просто цифра.
Используем для документации Postman.
Last updated