Кейс 03 · запущен

Signal — система обязательных уведомлений на компьютерах сотрудников

Система для обязательных уведомлений на компьютерах сотрудников. Сообщение нельзя закрыть или свернуть, пока сотрудник не подтвердит, что ознакомился с ним. В панели управления можно назначать рассылки, выбирать группы компьютеров и смотреть историю подтверждений.

  • .NET
  • ASP.NET Core
  • WPF
  • SignalR
  • SQLite

Контекст

Организация, где важно, чтобы каждый сотрудник гарантированно увидел и подтвердил регламентное сообщение.

Задача

  • Рассылки по почте и в мессенджерах читали не все, подтвердить факт ознакомления было нельзя.
  • Нужен был контроль: кто получил, кто подтвердил, кто был выключен в момент рассылки.

Решение

  • WPF-клиент на рабочих станциях: окно уведомления нельзя закрыть или свернуть до явного подтверждения.
  • Сервер на ASP.NET Core + SignalR: доставка в реальном времени, догон при включении компьютера.
  • Веб-панель управления: назначение рассылок, группы компьютеров, шаблоны, календарь, история подтверждений.
  • SQLite как хранилище — без отдельного сервера БД, простая установка в закрытом контуре.

Роль Tatar.dev

  • Tatar.dev спроектировал архитектуру и разработал серверную часть и клиент.
  • Реализовал веб-панель управления, статистику доставки и подтверждений.
  • Развернул систему в локальной сети заказчика.

Результат

  • Каждое регламентное сообщение имеет подтверждённый список ознакомившихся.
  • Администратор видит статистику доставки и историю по каждому компьютеру.
  • Система работает у заказчика.

Развёртывание

Система работает в локальной сети заказчика. Tatar.dev разработал сервер на ASP.NET Core, клиент для рабочих станций на WPF и панель управления. SQLite позволяет хранить данные без отдельного сервера базы данных.

Доставка и подтверждение — отдельные события

Администратор видит, какие компьютеры получили сообщение и где сотрудник подтвердил ознакомление. Если компьютер был выключен, сообщение доставляется после его включения. Окно уведомления ожидает явного подтверждения; история сохраняет этот факт, а не только факт отправки.

Похожая задача?

Этот кейс относится к услуге «Внутренние системы». Напишите пару строк о своей задаче — ответим в течение дня: ai@tatar.dev · @tatardev.