- Создать 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.