Skip to content

vasyadiagnost/project_tracker777

Repository files navigation

Project Tracker Desktop

Project Tracker Desktop — локальный настольный трекер проектов, этапов и поручений на Python.
Приложение сделано для офлайн-работы: данные хранятся в локальной SQLite-базе, без облака, регистрации и внешних серверов.

A local offline desktop project/task tracker built with Python, CustomTkinter, SQLite and SQLAlchemy.

Зачем это нужно

Project Tracker помогает держать под контролем проекты, задачи, сроки, ответственных, контрольные даты и «красную зону». Логика ориентирована не на абстрактный todo-list, а на управленческую работу: быстро увидеть, где просрочка, где блокер, где ждём ответ, что надо проверить и какие проекты требуют внимания сегодня.

Основные возможности

  • Главная панель с краткой сводкой по активным задачам и рискам.
  • Проекты: карточки проектов, статусы, приоритеты, сроки, ответственный DRI, этапы проекта.
  • Этапы проекта: ручное ведение этапов и быстрый шаблон типовых стадий проекта.
  • Задачи: сроки, контрольные даты, статусы, DRI, соисполнители, контролёр, следующий шаг, ожидаемый результат, блокеры.
  • Зависимости задач: задача может зависеть от другой задачи внутри проекта.
  • Цветовые сигналы: просрочено, сегодня, ближайшая зона риска, блокер, ожидание ответа, проверка результата, зависшие задачи.
  • Сводки и отчёты: генерация текстовых сводок, экспорт в TXT, XLSX и PDF.
  • Справочники: ответственные и приоритеты.
  • Настройки: горизонт риска, видимость блоков на главной, лимиты сводки, активные задачи по умолчанию.
  • Полностью локальная работа: SQLite-база создаётся автоматически при первом запуске.

Технологии

  • Python 3
  • CustomTkinter
  • Tkinter / ttk
  • SQLite
  • SQLAlchemy
  • openpyxl
  • reportlab
  • PyInstaller для сборки Windows .exe

Быстрый запуск из исходников

pip install -r requirements.txt
python main.py

На Windows можно запустить файл:

run_from_source.bat

Он создаст виртуальное окружение .venv, установит зависимости и запустит приложение.

Сборка Windows .exe

В корне проекта есть готовый батник:

build_exe.bat

Он выполнит полный цикл сборки:

  1. проверит наличие Python;
  2. создаст виртуальное окружение .venv;
  3. установит зависимости из requirements.txt;
  4. установит PyInstaller;
  5. соберёт приложение в один файл:
dist\ProjectTracker.exe

После первого запуска рядом с .exe будет создана рабочая база:

dist\data\project_tracker.db

Если PyInstaller ругается на версию Python, соберите проект в отдельном окружении Python 3.12/3.13.

Где хранятся данные

При запуске из исходников база создаётся здесь:

data/project_tracker.db

При запуске собранного .exe база создаётся рядом с исполняемым файлом:

dist/data/project_tracker.db

Файл базы данных не должен попадать в публичный репозиторий. В .gitignore уже добавлены правила, которые исключают локальные SQLite-базы и временные файлы.

Структура проекта

project_tracker/
├─ main.py                    # точка входа
├─ requirements.txt           # зависимости приложения
├─ build_exe.bat              # сборка Windows EXE
├─ run_from_source.bat         # запуск из исходников на Windows
├─ database/                  # подключение SQLite и инициализация схемы
├─ models/                    # SQLAlchemy-модели
├─ services/                  # бизнес-логика проектов, задач, сводок, настроек
├─ exports/                   # экспорт TXT/XLSX/PDF
├─ ui/                        # интерфейс CustomTkinter
│  ├─ dialogs/                # окна редактирования
│  └─ tabs/                   # вкладки приложения
└─ data/                      # локальная рабочая база, не публикуется в GitHub

Подготовка к публикации на GitHub

Рекомендуемый порядок первой загрузки:

git init
git add .
git commit -m "Initial Project Tracker Desktop release"
git branch -M main
git remote add origin https://github.com/USER/REPOSITORY.git
git push -u origin main

Перед публикацией проверьте, что в индекс не попала локальная база данных:

git status

В списке файлов не должно быть:

data/project_tracker.db

Приватность

Приложение не отправляет данные в интернет. Все проекты, задачи, ответственные и настройки хранятся локально в SQLite. Для публичного GitHub-репозитория не публикуйте рабочие .db-файлы, экспортированные отчёты с персональными данными и внутренние служебные документы.

Статус проекта

Это рабочая локальная desktop-версия Project Tracker с базовыми модулями управления проектами и задачами. Проект можно развивать дальше: импорт/экспорт данных, календарная логика, интеграция с CRM, расширенные отчёты, напоминания, локализация RU/EN и единый стиль-kit для всей линейки офисных инструментов.

Лицензия

Лицензия пока не выбрана. Перед публичным распространением можно добавить LICENSE — например MIT, Apache-2.0 или другой вариант по вашему выбору.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors