Срок действия допуска к погружениям — и электронная таблица об этом не знает
Большинство клубов хранят данные участников в электронных таблицах: одна строка на человека — его уровень, членство в клубе, дата последней медицинской справки. Это верно лишь в момент ввода. Проблема возникает позже: допуск к погружениям — это не статичная информация, а динамическое состояние, которое меняется само по себе с течением времени. Никто не проверяет строку в день истечения срока действия справки.
И это сложнее, чем просто просроченная дата: для одного человека одновременно важны три срока — медицинская справка, членство в клубе на текущий сезон и иногда срок действия квалификационного сертификата. Решающим является ближайший из них, но он может находиться в любой из трёх колонок. Чтобы понять, «кто допущен к погружению в субботу», нужно вручную сверить три колонки в каждой строке, держа рядом календарь. Такая проверка делается раз в начале сезона — и больше никогда.
Приложение ничего не перечитывает: оно сравнивает даты с текущей датой. Список участников, у которых срок действия одного из документов скоро истекает, формируется автоматически при каждом открытии экрана — безо всякого ручного вмешательства.
Дайв-выезд — это не просто список имён
Обычный лист выезда содержит только имена участников и время сбора. В нём отсутствует главное: кто руководит группой, кто ныряет с кем и какие погружения может совершать сформированная группа. Последний пункт определяется не средним или суммарным уровнем участников, а самым ограничивающим — и он меняется мгновенно, если кто-то откажется за день до выезда.
Если выезд описывать как простое текстовое поле, эта информация теряется полностью. А если смоделировать его как объект — с датой, местом погружения, инструктором и привязанными участниками — интерфейс сможет отображать реальный состав группы и автоматически пересобирать его при отмене участия кого-либо.
- Каждый выезд имеет свою дату, место, инструктора и список участников.
- Каждый участник — это уже существующий член клуба со своим уровнем, указанным в его карточке; имя не вводится повторно.
- Самый ограничивающий уровень в группе отображается прямо на карточке выезда — без расчёта по какой-либо автоматической логике со стороны приложения.
Оборудование клуба имеет индивидуальность — не просто количество
Фраза «двенадцать баллонов» бесполезна в тот день, когда один из них нужно отправить на проверку. Важен именно этот баллон: его номер, дата последней проверки, имя человека, которому он сейчас выдан. Инвентаризация, учитывающая только количество, не отвечает ни на один из этих трёх вопросов.
Это та же разница, что между моделью и конкретным экземпляром: два одинаковых редуктора перестают быть взаимозаменяемыми, как только один находится в эксплуатации, а второй — на техническом обслуживании. Каждая единица оборудования должна иметь собственную запись, историю выдачи и срок следующей проверки.
Что приложение НЕ делает
Самое полезное — сразу объяснить границы возможностей: так вы не будете ждать от инструмента того, что он не умеет делать.
- Оно не выполняет расчёты планирования погружений: ни таблицы, ни декомпрессионных пауз, ни расчёта декомпрессии. Это не дайв-компьютер, и оно не заменяет ни внутренние процедуры клуба, ни профессиональное решение инструктора.
- Оно не запрашивает данные у федераций: членство и уровень вводятся вручную администратором клуба и никогда не проверяются онлайн через сторонние системы.
- Оно не отправляет электронные письма и SMS: приложение лишь отображает приближающиеся сроки — напоминание остаётся вашей обязанностью.
- Оно не считывает сертификаты и штрих-коды: уровни выбираются из списка на экране.
- Оно не работает в автономном режиме — и это критически важно именно для работы клуба: ведь именно на борту судна сеть чаще всего отсутствует. Состав групп формируется заранее, до выхода в море.
- Отдельного личного кабинета для участников нет: права доступа глобальные (администратор, пользователь, только чтение), и аккаунт с правами «только чтение» видит все данные, доступные этому роли, а не только свою собственную карточку.
Ваши данные остаются вашими
Все введённые данные можно экспортировать со страницы «Настройки» в формате JSON или CSV — по каждому набору отдельно. Например, список участников в формате CSV открывается в табличном редакторе, сортируется, печатается для общего собрания или прикрепляется к заявке на грант.
Списки поддерживают фильтрацию и сортировку, а корзина позволяет восстановить случайно удалённую строку — особенно удобно, когда ввод данных распределён между волонтёрами, каждый из которых выходит на дежурство раз в месяц.
Сущности
- Участники
- Уровни и квалификации
- Лицензии и медицинские сертификаты
- Дайв-выезды
- Группы погружений
- Оборудование
- Выдача оборудования
Представления
- Рабочий стол
- Участники
- Сроки, требующие контроля
- Календарь выездов
- Состав выезда
- Оборудование
Показатели
- Участники с действующей лицензией
- Медицинские справки, срок действия которых скоро истекает
- Запланированные выезды на период
- Оборудование, срок проверки которого просрочен
Частые вопросы
Проверяет ли приложение, имеет ли дайвер право на конкретное погружение?
Нет, и это сделано намеренно. Приложение отображает даты, которые вы ввели — лицензию, медицинский сертификат, уровень подготовки — и помечает те из них, что уже истекли или скоро истекут. Оно не применяет никаких правил федераций и не заменяет ни одну из процедур клуба: окончательное решение остаётся за инструктором и руководством клуба.
Выполняет ли приложение расчёты декомпрессионных пауз или декомпрессии?
Нет. Ни таблиц, ни профилей, ни расчётов декомпрессии. Это не дайв-компьютер и не заменяет ни один из них.
Можно ли импортировать членство из базы нашей федерации?
Нет, прямое подключение к внешним системам не предусмотрено: лицензии и уровни вводятся вручную в приложении. Поскольку код стандартный и экспортируемый, разработчик может подключить сторонний сервис — но такая функциональность в комплекте не поставляется.
Можно ли использовать приложение на борту судна без интернета?
Нет, автономный режим отсутствует. Это реальное ограничение для данной сферы: состав групп и проверка актуальности документов всегда проводятся на суше, до выхода в море.
Что произойдёт, если мы захотим позже перейти на другое ПО?
Проект основан на стандартных технологиях Next.js и Prisma, его можно экспортировать как ZIP-архив или загрузить на GitHub. Данные экспортируются в форматах JSON и CSV. Никаких закрытых форматов и проприетарных диалектов, которые мог бы прочитать только поставщик, уйти можно в любое время, без согласия кого-либо.
