﻿---
title: Посещаемость и ранние предупреждения
description: "Сервис на Laravel + Filament: отметка посещаемости с телефона, пороги пропусков, уведомления куратору и родителям, отчёты для учредителя."
---

## Что это за сервис

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

Обычно отметки уже ставят в электронном журнале, но закономерности никто не отслеживает до конца четверти. Хронические пропуски выявляют вручную, когда кто-то раз в несколько недель выгружает отчёт. Родителей предупреждают непоследовательно: один педагог звонит, другой пишет, третий забывает. Замещающий учитель часто вообще не отмечает класс, и в данных появляются пробелы. Отчёты для учредителя или органа управления образованием каждый раз собирают вручную из выгрузок.

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

## Что он делает

- **Даёт быструю отметку.** Преподаватель открывает список своей группы на телефоне и отмечает каждого учащегося одним нажатием.
- **Различает причины пропусков.** Пропуск по уважительной причине, без неё и опоздание — разные значения, а не одна отметка «н».
- **Предупреждает о пропусках рано.** При достижении порога куратор и социальный педагог получают уведомление, а родителям уходит сообщение по заданному правилу.
- **Упрощает замену.** Замещающий педагог видит готовый список группы и упрощённую форму без предварительного обучения.
- **Связывает пропуски с работой по ним.** Из предупреждения можно открыть запись о беседе или обращении, чтобы было видно, что с проблемой уже работают.
- **Формирует отчёты по живым данным.** Отчёт в нужной форме строится ежемесячно из текущих отметок, поэтому конец года становится проверкой, а не пересборкой.

## Нюансы и особенности

- **Порог должен срабатывать рано.** Предупреждение после десятого пропуска уже опаздывает. Пороги задают в настройках, например 5 и 10 пропусков за период, и калибруют по опыту школы.
- **Уважительная причина — отдельное значение.** Отчётность требует разбивки по причинам, а оправдательный документ может прийти позже. Нужна возможность изменить причину задним числом с записью в журнал изменений.
- **Нет отметки — не то же, что присутствовал.** Сервис должен находить занятия, по которым отметки не поставлены, и напоминать ответственному, а не считать всех присутствующими.
- **Мобильная форма — главный экран.** Если отметка занимает больше минуты, её перестают делать. Проверяйте форму на узком экране и слабом соединении.
- **Работа рядом с электронным журналом.** Если в журнале отметки уже ведутся аккуратно, сервис забирает их через API или выгрузку и добавляет только предупреждения и отчёты. Если журнал закрывает и отчётность, отдельный сервис не нужен.
- **Доступ к данным несовершеннолетних.** Преподаватель видит свои группы, куратор — свой класс, администрация — всё. Родительский кабинет, если он нужен, показывает только своего ребёнка. Ограничение действует на сервере.
- **Уведомления родителям — это правило, а не ручная работа.** Шаблон, канал и порог настраивают заранее, а каждое отправленное сообщение сохраняется в истории учащегося.

## Как сгенерировать через ИИ-агентов

Промпты рассчитаны на AI-агента (Claude Code, Cursor и аналоги) в Laravel-проекте с установленным **Filament 4.x**. Отправляйте их по одному и проверяйте результат каждого шага.

### 1. Данные и модели

```text
Создай модели и миграции для учёта посещаемости: Student (ФИО, группа,
куратор, контакты родителей), Group, Lesson (группа, предмет, преподаватель,
дата и время, замещающий педагог), AttendanceMark (занятие, учащийся,
значение из enum: присутствовал, опоздал, пропуск по уважительной причине,
пропуск без уважительной причины; автор, дата изменения), AbsenceAlert
(учащийся, порог, дата, статус обработки). Добавь фабрики с демо-данными.
```

### 2. Быстрая отметка

```text
Сделай отдельную страницу Filament «Отметить занятие» для преподавателя:
список его сегодняшних занятий, по выбору — список группы с переключателем
значения для каждого учащегося и кнопкой сохранения. Страница должна быть
удобной на телефоне. Замещающий педагог видит занятия, где он назначен
заменой.
```

Откройте страницу в мобильной эмуляции браузера и отметьте группу из 25 человек.

### 3. Пороги и предупреждения

```text
Добавь задачу по расписанию, которая считает пропуски за период по каждому
учащемуся и при достижении порогов из настроек создаёт AbsenceAlert,
уведомляет куратора в панели и отправляет письмо родителю по шаблону.
Один и тот же порог не должен срабатывать повторно за период. Отдельно
находи занятия без отметок и напоминай преподавателю.
```

### 4. Работа с предупреждениями

```text
Сгенерируй ресурс AbsenceAlert с фильтрами по группе, куратору и статусу.
Добавь действие «Зафиксировать работу» с типом (беседа, звонок родителю,
встреча) и комментарием. В карточке учащегося покажи историю отметок,
предупреждений и отправленных сообщений.
```

### 5. Доступ и отчёты

```text
Настрой доступ: преподаватель видит свои группы, куратор — свой класс,
администрация — всё. Добавь виджеты посещаемости по группам и список
учащихся у порога. Сделай ежемесячный экспорт в формате с разбивкой
по причинам пропусков, применяя те же ограничения доступа.
```

## Похожие сценарии

- [Журнал инцидентов с учащимися](https://wpcraft.ru/kb/stacks/filament/use-cases/education/student-incident-log.md) — поведенческие случаи и последующие действия по тому же учащемуся.
- [Журнал связи с родителями](https://wpcraft.ru/kb/stacks/filament/use-cases/education/parent-communication-tracker.md) — фиксирует звонки и встречи, которые запускает предупреждение о пропусках.
- [Составление расписания занятий](https://wpcraft.ru/kb/stacks/filament/use-cases/education/class-scheduling-board.md) — откуда берутся занятия, по которым ставят отметки.

## Материалы и источники

- [Refine: Attendance Tracker](https://refine.dev/use-cases/education/attendance-tracker/)
- [Filament 4.x: собственные страницы](https://filamentphp.com/docs/4.x/navigation/custom-pages)
- [Filament 4.x: ресурсы](https://filamentphp.com/docs/4.x/resources/overview)
- [Filament 4.x: уведомления в базе данных](https://filamentphp.com/docs/4.x/notifications/database-notifications)
- [Filament 4.x: экспорт](https://filamentphp.com/docs/4.x/actions/export)