Skip to content

A specialized operational management system for accounting outsourcing firms. Built with Django & Django-Ninja for high performance.

Notifications You must be signed in to change notification settings

Nicksok2413/Kronon

Repository files navigation

Kronon

Python Django PostgreSQL Redis Celery Docker Grafana Sentry CI/CD Code Style Typing

Enterprise Accounting Operating System. Специализированная CRM/ERP система для управления процессами бухгалтерского аутсорсинга (Республика Беларусь).


📖 О проекте

Kronon — это не просто CRM. Это операционная система для бухгалтерской фирмы, разработанная для замены хаоса из Excel-таблиц, бумажных стикеров и разрозненных мессенджеров.

Система спроектирована с учетом специфики законодательства РБ (УНП, Налоговый кодекс) и ориентирована на строгие дедлайны отчетности. Главная цель — минимизация человеческого фактора и автоматизация рутины.

🚀 Ключевые возможности (Roadmap)

  • Умный реестр клиентов: Карточки Юр.лиц и ИП с валидацией УНП, отслеживанием систем налогообложения (УСН, ОСН, Единый налог) и сроков действия ключей ЭЦП.
  • Автоматический календарь задач: Генерация задач (НДС, ФСЗН, ПУ-3) на основе профиля клиента. Система сама знает, когда кому сдавать отчет.
  • Google Sheets Sync: Двусторонняя синхронизация данных. Клиенты видят свои налоги в привычных таблицах, бухгалтеры работают в интерфейсе системы.
  • Документооборот 2.0: Загрузка "первички" через Telegram-бот с автоматической привязкой к клиенту.
  • Биллинг: Автоматический подсчет стоимости обслуживания на основе количества операций и сложности учета.
  • Безопасность: Разграничение прав доступа (Object Level Permissions) — бухгалтер видит только своих клиентов.

🛠 Технический стек

Проект построен на базе Clean Architecture и 12-Factor App методологий.

Backend & Core

  • Python 3.14 — Язык разработки.
  • Django 6.0 — Основной фреймворк (Admin, ORM, Auth).
  • Django Ninja — Высокопроизводительный асинхронный API (FastAPI-like experience).
  • Pydantic V2 — Валидация данных и сериализация.
  • Celery — Асинхронные задачи и периодические процессы.

Data & Storage

  • PostgreSQL 18.1 — Основная БД. Используются новые фичи: UUIDv7 (сортируемые UUID) и Async I/O.
  • Redis 7 — Кэширование, брокер сообщений для Celery.
  • PgBouncer — Пулер соединений для работы под высокой нагрузкой (Transaction pooling).

DevOps & Infrastructure

  • Docker & Docker Compose — Контейнеризация. Multi-stage, оптимизация слоев, запуск от non-root пользователя.
  • Nginx / Whitenoise — Раздача статики и Reverse Proxy.
  • GitHub Actions — CI/CD пайплайны (Linter, Type Check, Tests, Migration Check).
  • Make — Автоматизация рутинных команд.

Quality Assurance

  • Mypy (Strict Mode) — Строгая статическая типизация.
  • Ruff — Линтинг и форматирование.
  • Pytest — Модульное и интеграционное тестирование.
  • Pre-commit hooks — Гарантия качества кода перед коммитом (Bandit, Ruff, Checkers).

🏗 Архитектура

Проект следует принципам Modular Monolith. Бизнес-логика разделена на изолированные приложения (apps/), что позволяет в будущем легко выносить модули в микросервисы.

kronon/
├── apps/               # Бизнес-домены
│   ├── users/          # Кастомная модель пользователя, роли, отделы
│   ├── clients/        # (WIP) Управление контрагентами
│   └── common/         # Общие утилиты и абстракции
├── config/             # Конфигурация Django (Settings, ASGI, WSGI)
├── docker/             # Dockerfiles, Entrypoints, Configs
├── scripts/            # Служебные скрипты
├── tests/              # Глобальные тесты
└── manage.py           # Точка входа

💻 Локальный запуск (DX)

Уделено огромное внимание Developer Experience. Развертывание проекта занимает 1 минуту.

Предварительные требования

  • Docker & Docker Compose
  • Python 3.14 & Poetry (для локальной разработки)
  • Make (рекомендуется)

Быстрый старт

  1. Клонирование репозитория:

    git clone https://github.com/Nicksok2413/Kronon.git
    cd Kronon
  2. Настройка окружения: Скопируйте пример файла конфигурации и заполните его своими данными (SECRET_KEY, логины, пароли):

    cp .env.example .env

    ⚠️ Важно: Обязательно сгенерируйте надежные SECRET_KEY, DB_PASSWORD, ADMIN_EMAIL и ADMIN_PASSWORD.

  3. Запуск инфраструктуры (Docker):

    make up

    Поднимет PostgreSQL, Redis, PgBouncer и само приложение.

  4. Применение миграций и создание суперпользователя:

    make migrate
    make superuser
  5. Доступ:

Полезные команды

Весь процесс управления завернут в удобный Makefile:

  • make install — Установить зависимости локально.
  • make run — Запустить сервер разработки (локально).
  • make test — Запустить тесты.
  • make check-all — Запустить полный цикл проверок (Linter + Mypy + Tests).
  • make logs — Смотреть логи контейнеров.

🤝 Вклад в проект (Contributing)

Проект придерживается строгих стандартов качества.

  1. Весь код должен быть типизирован (Strict Mypy).
  2. Docstrings обязательны (Google Style).
  3. 100% покрытие тестами новой бизнес-логики.
  4. Перед коммитом pre-commit хуки должны проходить успешно.

📄 Лицензия

Proprietary Software. All rights reserved. Developed for internal use by "Kronon Accounting".

About

A specialized operational management system for accounting outsourcing firms. Built with Django & Django-Ninja for high performance.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published