Offline-first desktop CRM / planner for contact tracking, tasks, meetings, birthday reminders, registry work and local calendar/export workflows.
Основной язык интерфейса: русский. Приложение рассчитано на локальную работу на Windows: данные хранятся рядом с программой в SQLite, без обязательного облака и без обязательного внешнего сервера.
- Главная панель: быстрый обзор контактов, задач, встреч, поручений и ближайших напоминаний.
- Люди: карточки персон, должности, подразделения, круг общения, ответственный, телефон, дата рождения и тип подарка.
- Контакты: звонки/встречи с автоматическим расчетом статусов и ближайших дат.
- Задачи: отдельный рабочий список задач CRM.
- Планер: задачи и события с напоминаниями, сферами и связями с объектами CRM.
- Реестр поручений: отдельный модуль для поручений и контроля исполнения.
- Напоминания: контактные напоминания и ближайшие события.
- Дни рождения: два источника — личный список из CRM и общий список Birthday Reminder, импорт/экспорт Excel и ICS.
- Встречи: регулярные встречи с логикой периодичности.
- Редактор БД: служебное редактирование справочников и рабочих таблиц через интерфейс.
- Сервис: настройки, справочники, интеграции и технические функции.
- Экспорт: Excel/ICS/PDF-ориентированные сценарии для офисной работы.
- Интеграции: локальные сценарии синхронизации с Яндекс.Календарем и Яндекс.Диском при явной настройке пользователем.
Рекомендуется Python 3.12+ на Windows.
При установке включите галочку Add Python to PATH.
py -3 -m venv .venv
.venv\Scripts\activate
python -m pip install --upgrade pip
pip install -r requirements.txtpython main.pyИли просто запустите:
run_app.batСамый простой вариант:
build_exe.batCRM.spec уже содержит настройки one-file/windowed, поэтому батник запускает PyInstaller без повторной передачи этих параметров через командную строку.
После успешной сборки файл будет создан в:
dist\CRM.exe
Подробности — в docs/BUILD_WINDOWS.md.
pip install -r requirements-dev.txt
python -m pytestИли:
run_tests.batrun_tests.py сохраняет полный вывод в logs/test_report.txt.
Подробности — в README_TESTING.md.
.
├── main.py # точка входа
├── database.py # SQLite/SQLAlchemy и миграции
├── models/ # ORM-модели
├── services/ # бизнес-логика, импорт/экспорт, синхронизация
├── ui/ # вкладки и интерфейс CustomTkinter
├── dialogs/ # отдельные окна/диалоги
├── templates/ # Excel-шаблоны
├── tests/ # pytest-тесты
├── tools/ # служебные инструменты, включая security_audit.py
├── docs/ # документация
├── data/ # локальные БД и вложения, не публикуются в Git
├── exports/ # пользовательские выгрузки, не публикуются в Git
└── logs/ # локальные логи, не публикуются в Git
Приложение хранит рабочие данные локально:
data/app.db— основная база CRM;data/birthday.db— общий список дней рождения;data/attachments/— локальные вложения планера;exports/— выгрузки Excel/ICS/PDF;logs/— технические отчеты и логи.
Перед публикацией полезно выполнить локальный аудит:
python tools\security_audit.pyСм. также SECURITY.md и docs/PRIVACY.md.
Проект распространяется по лицензии MIT. См. LICENSE.