Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CRM 3.1.2

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-ориентированные сценарии для офисной работы.
  • Интеграции: локальные сценарии синхронизации с Яндекс.Календарем и Яндекс.Диском при явной настройке пользователем.

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

1. Установить Python

Рекомендуется Python 3.12+ на Windows.

При установке включите галочку Add Python to PATH.

2. Установить зависимости

py -3 -m venv .venv
.venv\Scripts\activate
python -m pip install --upgrade pip
pip install -r requirements.txt

3. Запустить программу

python main.py

Или просто запустите:

run_app.bat

Сборка .exe на Windows

Самый простой вариант:

build_exe.bat

CRM.spec уже содержит настройки one-file/windowed, поэтому батник запускает PyInstaller без повторной передачи этих параметров через командную строку.

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

dist\CRM.exe

Подробности — в docs/BUILD_WINDOWS.md.

Тесты

pip install -r requirements-dev.txt
python -m pytest

Или:

run_tests.bat

run_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.

About

No description, website, or topics provided.

Resources

Contributing

Security policy

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages