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