Задание

Mobile developer

В ходе выполнения задания предстоит реализовать полноценное мобильное приложение «Мои задачи» на React Native под платформу Android и iOS. Приложение будет хорошим дополнением в ваше портфолио.

Задание для мобильного разработчика

Описание
Разультатом выполнения задания должно стать небольшое приложение написанное на React Native в связке с TypeScript. На проверку нужно предоставить ссылку на Expo.

Приложение представляет собой todo лист, в котором имеются следующие возможности:
  • Создание списка;
  • Редактирование названия списка;
  • Удаление списка;
  • Создание задачи;
  • Редактирование задачи;
  • Удаление задачи;
  • Выполнение (перечеркивание) задачи.
Основные критерии выполнения задания
  • Требуемый стек соблюден;
  • Приложение должно работать на Android и iOS одинаково;
  • Данные приходящие с API должны быть применены к локальной модели через class-transformer;
  • Верстка соответствует дизайну;
  • Реализованы все функциональные возможности;
  • Имеется валидация форм;
  • Данные полученные с API должны храниться в Redux.
API для задания
Эндпоинт http://mobile-dev.oblakogroup.ru/candidate/:candidate_id
(где: candidate_id — ваше имя и фамилия /candidate/IvanIvanov)

Экшены:
  • Получить список листов GET /list;
  • Создание листа POST /list;
  • Удаление листа DELETE /list/:id;
  • Редактирование листа PATCH /list/:id;
  • Создание задачи POST /list/:list_id/todo;
  • Редактирование задачи PATCH /list/:list_id/todo/:id;
  • Удаление задачи DELETE /todo/:id.
Верстка
Верстка приложения должна соответствовать дизайну, представленному ниже, также предполагается использование Paper UI. Реализация компонентов с нуля, без использования UI не запрещается, однако все должно соответствовать дизайну.
Основная логика:
  • По нажатию на кубики (правый верхний угол), вызывается окно добавления нового листа frame 4;
  • По нажатию на фаб, открывается окно добавления задачи в существующий список frame 3;
  • В каждом листе есть список с завершенными задачами, по умолчанию он свернут. Если этот список развернуть, в нем будут перечеркнутые (законченные) задачи;
  • Задачу можно удалить свайпом вправо, как показано на макете frame 1;
  • Задачу можно отредактировать, свайпом влево, после чего должно открыться окно редакрирования задачи frame 3, с уже выбранной категорией и заполненным текстом в поле ввода. На этом экране можно изменять категорию или название задачи;
  • Тап по задаче завершает (перечеркивает) ее.
Результаты необходимо направить на почту: moodle@oblakogroup.ru с темой письма MD {Имя} {Фамилия} например MD Алексей Иванов. Внутри письма должна быть ссылка на Expo превью и Git.