Необходимо сделать API, позволяющее рендерить содержимое страницы, за это отвечает экшн GET /projects, который возвращает всю структуру, необходимую для рендеринга страницы: image
Далее на странице имеется функционал, позволяющий перечеркивать задачи, для этого нужно реализовать отдельный экшн для обновления задачи PATCH /project/:id/todos/:id, который в свою очередь будет обновлять значение checked.
Далее рассмотрим окно создания задачи. Тут нужно предусмотреть следующее: задача может быть добавлена в существующий список, либо в новый. Таким образом, если в списке выбора категории выбрать пункт «Новая категория», должно появиться поле для ввода названия нового списка, и, после сабмита формы, список должен отобразиться на главной странице с новой задачей. Для этих целей на стороне апи лучше всего сделать экшн POST /todos.
Стоит за ранее позаботиться о сидах, с которыми будет удобно разрабатывать и проверять приложение. В качестве примера можно использовать этот файл.
Таким образов в результате API должен предоставлять следующие методы:
GET /projects - вернуть все проекты с задачами
POST /todos - создать новую задачу
PATCH /projects/id/todo/id - обновить задачу
- todo[todoname] - имя задачи (string)
- project[projectname] - имя проекта (string)
- project[id] - id проекта (integer)