/amazing_todo_list

Project for demonstration code documenting

Primary LanguageDart

amazing_todo_list

Приложение для отслеживания статуса задач.

Назначение приложения

Проект создан для демонстрации документирования кода приложения.

Документация

https://hoxa-k.github.io/amazing_todo_list/doc/api/index.html

Функциональность приложения

Приложение состоит из одного экрана. На экране отображается список введенных пользователем задач. Каждая задача имеет текстовое описание и статус. У статуса задачи два значения - выполнено/не выполнено. Действия, которые может совершить пользователь в приложении:

  • Добавление новой задачи.
  • Удаление задачи.
  • Изменение статуса задачи.

Добавление новой задачи

Добавление новой задачи происходит по кнопке с иконкой "+" внизу экрана во всплывающем окне.

На всплывающем окне отображается название окна, поле для ввода, кнопка добавления, кнопка отмены.

В поле для ввода могут быть введены любые символы с клавиатуры устройства. Кнопка добавления заблокирована, если поле для ввода пустое или введены только пробельные символы. Если поле для ввода заполнено, по кнопке добавления происходит добавление нового элемента в список задач, закрытие всплывающего окна и возврат к основному экрану со списком. Новый элемент добавляется с описанием из поля для ввода и статусом "не выполнено". По нажатию на кнопку отмены происходит закрытие всплывающего окна и возврат к основному экрану со списком, при этом данные, содержащиеся в поле для ввода не сохраняются.

Список задач

В списке задач каждый пункт отображается в виде отдельной строки. Каждая строка содержит индикатор статуса задачи, текст задачи, кнопка удаления задачи.

Изменение статуса задачи

При нажатии на индикатор статуса задачи меняется статус на противоположный.

Удаление задачи

При нажатии на кнопку удаления происходит удаление задачи из списка.

Что можно изменить или добавить

  • Сохранение списка задач в локальное хранилище устройства и отправка на бек.
  • Редактирование задач.
  • Фильтрация задач по статусу.
  • Расширение количества статусов задачи.
  • Локализация приложения.