Skip to content

cnvuls/dozorniy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

89 Commits
 
 
 
 
 
 
 
 

Repository files navigation

🛡️ Dozorniy (Дозорный)

Python UI Framework License Architecture Status

Dozorniy — это система удаленного управления и мониторинга (RMM), разработанная специально для образовательных учреждений. Проект создается как безопасный инструмент для организации учебного процесса в компьютерных классах.

Важно: Данный проект является исследовательским (Research Project) и распространяется под лицензией PolyForm Noncommercial 1.0.0. Использование в коммерческих целях без разрешения автора запрещено.


🏛️ О проекте (About)

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

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

  • Безопасность: Клиент (агент) исполняет только строго валидированные команды.
  • Кроссплатформенный UI: Панель управления реализована на Flet, что позволяет работать с любого устройства (Desktop/Web).
  • Легковесность: Агент работает в фоне, не нагружая систему студента.
  • Чистота кода: Строгое соблюдение принципов SRP (Single Responsibility Principle).

🏗️ Архитектура (Architecture)

Проект построен на базе Event-Driven Architecture (Событийно-ориентированная архитектура). Мы отказались от монолитной логики в пользу слабой связности компонентов.

Стек технологий:

  • Language: Python 3.13+
  • UI/Frontend: Flet (Python wrapper for Flutter)
  • Validation: Pydantic V2
  • Data Structures: Python Dataclasses (@dataclass)
  • Network: WebSockets (Asyncio)

Схема обработки данных:

  1. Transport Layer (Dumb Pipe): Слой WebSocket не знает бизнес-логики. Он принимает "сырой" JSON.
  2. IncomingRawMessage: Данные оборачиваются в строго типизированный Dataclass.
  3. Dispatcher: Центральный узел, который маршрутизирует события.
  4. Handlers: Изолированные обработчики логики.
  5. UI Layer (Flet): Асинхронный интерфейс подписывается на изменения состояния и обновляется в реальном времени (Reactive UI).
# Пример структуры события (Event Structure)
@dataclass
class IncomingRawMessage:
    event_type: str
    payload: dict
    timestamp: int
    sender_id: str

🚀 Установка и запуск (Installation)

Инструкция для разработчиков и исследователей.

  1. Клонируйте репозиторий:
git clone https://github.com/cnvuls/dozorniy.git
cd dozorniy
  1. Создайте виртуальное окружение:
uv venv
source venv/bin/activate.fish  # Для Linux
venv\Scripts\activate     # Для Windows

📜 Лицензия (License)

Copyright (c) 2026 cnvls.

Этот проект лицензирован на условиях PolyForm Noncommercial License 1.0.0.

  • ✅ Разрешено: Личное использование, обучение, использование в школах и вузах, некоммерческие организации.
  • ❌ Запрещено: Любое коммерческое использование, перепродажа, включение в платные продукты без письменного согласия автора.

Полный текст лицензии доступен в файле LICENSE.


🤝 Контакты

Если вы представляете образовательное учреждение и хотите внедрить систему, или у вас есть вопросы по архитектуре:

About

Система удаленного мониторинга (RMM) для учебных компьютерных классов. Разработана для образовательных целей с использованием Python и Pydantic. Некоммерческий проект.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors