Skip to content

Latest commit

 

History

History
35 lines (29 loc) · 2.59 KB

specification.md

File metadata and controls

35 lines (29 loc) · 2.59 KB

Техническое задание

Цель

Разработать простое приложение для контроля личных финансов (ведение домашней бухгалтерии).

Основное назначение приложения

Возможность записывать и анализировать расходы.

Ключевые особенности

  • Open source
  • Хранение данных у пользователя (конфиденциальность и доступность)
  • Максимально простой функционал (мы не ведем полноценную бухгалтерию)

Функциональные требования

  • Добавление, просмотр, редактирование и удаление категорий расходов
  • Добавление, просмотр, редактирование и удаление записей о расходах
  • Каждая запись о расходе относится к одной категории
  • Отслеживание расходов за день / неделю / месяц
  • Возможность ограничения бюджета на день / неделю / месяц

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

  • Язык Python 3.10
  • Библиотека PyQT6 (или Pyside6) для графического интерфейса
  • Использование аннотаций типов и статический анализ с помощью mypy
  • Тестирование с помощью pytest, покрытие тестами 100%
  • Соответствие PEP8 (допустима длина строки до 90 символов), проверка с помощью flake8
  • Обязательное документирование всех классов и функций
  • Оценка качества кода с помощью pylint не ниже 9 Цикломатическая сложность не выше 10
  • Использование архитектурных паттернов для снижения связности кода и облегчения расширения / изменения функциональности
  • Специфических требований к производительности не предъявляется

Финансирование и лицензирование

  • Проект является некоммерческим
  • Исходный код распространяется свободно под лицензией MIT