Практика №16. To-Do организатор

Общее описание

Разработать мобильное приложение для управления списками задач (to-do lists) на React Native с использованием TypeScript и локального хранилища. Приложение должно позволять создавать несколько списков задач, добавлять в них задачи с описанием, дедлайнами и статусами, а также редактировать и удалять их. Все данные сохраняются на устройстве и восстанавливаются после перезапуска.

Задание обязано быть опубликовано в новом приватном репозитории организации GitHub с названием Группа_Фамилия_task-16.


Ресурсы

  • (пусто)

Определение задачи

Приложение должно состоять из трёх основных экранов:

  1. Главная страница — список всех списков задач.
  2. Страница списка задач — отображение и управление задачами внутри выбранного списка.
  3. Страница задачи — детальное представление и редактирование одной задачи.

Все действия пользователя (создание, редактирование, удаление) должны мгновенно отражаться в интерфейсе и сохраняться в локальном хранилище.


Функциональность

1. Управление списками задач

  • Создание списка с уникальным названием;
  • Редактирование названия списка;
  • Удаление списка со всеми задачами внутри;
  • Отображение всех списков на главной странице.

2. Управление задачами

  • Создание задачи с:
    • Названием (обязательно),
    • Описанием (опционально),
    • Статусом ("Получено" по умолчанию),
    • Датой создания (автоматически),
    • Датой дедлайна (опционально).
  • Редактирование любого поля задачи;
  • Удаление задачи;
  • Фильтрация задач по статусу:
    • "Получено"
    • "В процессе"
    • "Сделано"
    • "Отменено"

3. Отображение данных

Для каждой задачи отображаются:

  • Название,
  • Описание (если есть),
  • Статус (визуально выделен цветом или значком),
  • Дата создания,
  • Дата дедлайна (если указана).

Технические требования

  • Использование TypeScript — обязательно;
  • Хранение данных — только в локальной памяти устройства (AsyncStorage);
  • Запрещено использовать облачные API или внешние базы данных;
  • Все экраны — реализованы через навигацию;

Интерфейс

  • Чистый, понятный, без перегрузки элементами;
  • Поддержка темного/светлого режима — не обязательна, но приветствуется;
  • Кнопки и поля ввода — корректно масштабируются под разные экраны;
  • Использование ScrollView, FlatList для списков — обязательно.

Время на выполнение

На выполнение выделяется 4 практических пары.
Градация баллов после дедлайна:

  • 1 пара: 50%
  • 2 пара: 25%
  • 3 пара: 10%

Баллы

Статус выполнения Количество баллов
Не сдано -8
Сдано 23