nfprogress
4 subscribers
88 photos
12 videos
134 links
Канал с новостями о приложении nfprogress

https://github.com/nevskyforever/nfprogress/
Download Telegram
Версия 0.0.2 Python

feat: полный рефакторинг системы управления проектами с улучшением UX и архитектуры

Основные изменения:

1. 🔄 Переход с матричной структуры на словарь
- Старая структура: список списков [[индекс, название, цель, прогресс...]]
- Новая структура: словарь {название: [цель, текущий_результат]}
- ✅ Улучшена производительность (O(1) доступ вместо O(n))
- ✅ Упрощена логика хранения данных

2. 🎯 Улучшение навигации и пользовательского интерфейса
- Добавлено главное меню с четкими опциями:
1 - Добавить запись в проект
2 - Добавить новый проект
3 - Выйти из программы
- Убрана рекурсивная навигация в пользу циклического меню
- Добавлены визуальные разделители и заголовки для лучшей читаемости
- Индикаторы статуса проектов (✅ ВЫПОЛНЕН, 📝 В РАБОТЕ)

3. 🛠️ Исправления критических багов
- Исправлена нумерация проектов - теперь начинается с 1 (более интуитивно)
- Исправлено сохранение проекта при вводе 'n' в меню добавления
- Добавлена защита от дубликатов названий проектов
- Проверка на пустые названия проектов

4. ✅ Улучшение валидации и обработки ошибок
- Проверка на положительные значения целей
- Проверка на отрицательное количество символов
- Обработка некорректного ввода номеров проектов
- Защита от ввода нечисловых значений

5. 📊 Улучшение отображения прогресса
- Показ как процентного выполнения, так и абсолютных значений (написано/цель)
- Автоматический пересчет прогресса при добавлении записей
- Более информативные сообщения о состоянии проектов

6. 🏗️ Архитектурные улучшения
- Разделение ответственности между функциями
- Убрана избыточная рекурсия
- Улучшена читаемость и поддерживаемость кода
- Добавлен корректный запуск через if __name__ == "__main__"

Результат:
- Более интуитивный и удобный интерфейс
- Улучшенная производительность при работе с большим количеством проектов
- Надежная система без критических багов
- Легкость в расширении и поддержке
🔥1
Обновление 0.0.3 Python

feat: переработана структура проектов, добавлен просмотр записей и улучшен интерфейс

- Изменена структура хранения данных:
проекты теперь сохраняются в формате
{название_проекта: {цель: [запись1, запись2, ...]}},
что позволяет хранить все отдельные записи, а не только текущий прогресс.

- Добавлена возможность просматривать все записи по каждому проекту.
Теперь после выбора проекта можно:
1. Добавить новую запись
2. Просмотреть список всех записей
3. Вернуться в главное меню

- Переработана логика подсчёта прогресса:
общий результат теперь вычисляется как сумма всех записей относительно цели.

- Улучшен интерфейс: меню стало понятнее и удобнее для пользователя.

- Код структурирован и подготовлен к будущим расширениям
(например, добавление автосохранения, дат записей и заметок).
🔥1
Обновление 0.0.4 Python

feat: добавлено автоматическое сохранение записей с датой и временем

- Каждая запись теперь сохраняется как словарь {"count": <число символов>, "datetime": <дата и время>}.
- Прогресс проекта рассчитывается по сумме count всех записей.
- Убрано подтверждение при добавлении записи, запись сохраняется сразу.
- Вывод записей теперь показывает дату и время добавления.
🔥1
Обновление 0.0.5 и 0.0.6 Python

В записи добавляется текущие дата и время

Добавлена возможность удаления проектов и записей в них
🔥1
Обновление 0.0.7 Python

Рефакторинг: замена условий на словари функций

- Заменены громоздкие if/elif конструкции на словари функций
- Вынесена логика действий в отдельные функции:
* add_record - добавление записи о прогрессе
* view_records - просмотр записей проекта
* delete_record - удаление записи
* delete_project - удаление проекта
- Упрощена навигация по меню через словари:
* menu_actions - для главного меню
* project_actions - для управления проектом
- Улучшена читаемость и поддерживаемость кода
- Упрощено добавление новых функций в будущем
🔥1
Обновление 0.1.0 Python

Очередное ИИ-обновление

- Добавлена загрузка данных из файла projects.txt при запуске
- Добавлено автоматическое сохранение при изменении проектов
- Данные сохраняются в JSON формате для удобства
- Сохранение работает при добавлении/удалении проектов и записей
🔥1
Обновление 0.1.1 Python

Очередное ИИ-обновление

- Отображение и работа с меню выделено в отдельную функции
🔥1
Откат до версии 0.0.1

Проект начат самостоятельно, с нуля .

Реализовано:

1. Добавление проектов и их сохранение
2. Главное меню
3. Сохранение проектов. файл

С этого момента буду стараться все писать самому, чтобы оттачивать и закреплять навыки
🔥1
Обновление 0.0.2

Улучшена логика хранения - теперь проекты записываются ы оперативную память списком и внутри программы меняется именно список, после чего файл полностью перезаписывается.

Чтение/запись данных о проектах выделены в отдельную функцию.

Улучшено отображение меню, добавлены отступы.
🔥1
Обновление 0.1.0

Полностью с нуля переписан код, добавлена возможность добавлять записи в проект и удалять сами проекты.
🔥1
Обновление 0.1.1

Добавлен возврат в главное меню из меню выбора проектов.
🔥1
Обновление 0.2.0

Теперь данные о проектах хранятся в .json формате, это сильно упростило работу с данными и позволит добавить новые функции.
🔥1
Обновление 0.3.0

Проекты теперь хранятся в виде словарей, это позволяет задать им множество именованных параметров.

Временно убран пункт "удалить проект"
🔥1
Обновление 0.3.1

Добавлено новое подменю "Изменить проекты", в котором доступно две новых функции "изменить цель проекта" и "переименовать проект", а так же "удалить проект".
🔥1
Обновление 0.3.1.1

Добавлен возврат в главное меню из просмотра проектов.
🔥1
Обновление 0.3.1.2

Мелкие правки меню
🔥1
Обновление 0.3.1.3

Мелкие правки меню
🔥1
Обновление 0.4

Добавлена возможность устанавливать дедлайн проекта

Добавлено дополнительное меню с возможностью просмотреть подробные дангные проекта: названиме, цель, сколько написано, сколько осталось до дедлайна или сколько дней пропущено.

Дата дедлайна отображается в общем списке проектов.
🔥1
Обновление 0.4.1

Дополнено добавление дедлайна - теперь его можно удалить.

Добавлено подтверждение удаления проекта
🔥1
Обновление 0.5

Данные о проектах теперь записываются в бинарный формат .pkl - это ускоряет работу с данными.

При создании проекта сохраняется дата его сохдания, она теперь отображается в информации о проекте.

Проекты теперь хранят в себе записи с датами.
🔥1
Обновление 0.5.1

Исправлен выход в меню из редактирования проектов

Поправлен вывод информации о проекте - теперь выводится название

В информации о проекте теперь отображается дата его создания
🔥1