app.webhill.net — SaaS для учёта клиентов, счетов и мониторинга сайтов

app.webhill.net — SaaS для учёта клиентов, счетов и мониторинга сайтов

О проекте

app.webhill.net — наш собственный продукт. Это мультипользовательская веб-панель для фрилансеров и небольших агентств, которая заменяет таблицы, напоминалки и десяток сервисов. Регистрация по email. Каждый пользователь видит только свои данные. Тарифов и платных ограничений нет.
Разделы платформы на лендинге

Разделы

  • Дашборд — неоплаченные счета, ближайшие платежи, недоступные сайты и последние уведомления
  • Клиенты — карточки со статусами (активен, на паузе, в архиве), контактами и заметками
  • Счета — разовые, ежемесячные и ежеквартальные. Повторяющиеся счета создаются автоматически, есть напоминания о сроке оплаты
  • Задачи — статусы, приоритеты, дедлайны, стоимость и привязка к клиенту
  • Сервисы — хостинг, домены, подписки, напоминания перед списанием
  • Мониторинг — проверка HTTP-ответа и SSL-сертификата сайтов каждые 4 часа
  • Бекапы — автоматическое резервное копирование проектов с VPS по SSH/SFTP с проверкой архивов
  • Учёт — доходы и расходы с привязкой к клиентам, счетам, задачам и сервисам, баланс и распределение по категориям
Дашборд
Счета
Задачи

Уведомления

  • Три канала: Telegram (свой бот пользователя), MAX и email, включая дополнительные адреса
  • События: сайт недоступен, приближается оплата сервиса, счёт просрочен или скоро срок, дедлайн задачи, бекап не удался
  • Журнал отправленных уведомлений и тестовая отправка из настроек
  • Встроенная инструкция по подключению Telegram-бота
Мониторинг сайтов и SSL
Учёт доходов и расходов

Безопасность и архитектура

  • Изоляция данных на уровне записей: политика is-owner и автоматическое назначение владельца
  • JWT в httpOnly-cookie, защищённые маршруты, rate limiting
  • Токены ботов маскируются в ответах API
  • Новые разделы добавляются по единому шаблону без переделки ядра
  • Лендинг управляется из CMS и обновляется без передеплоя

Технологический стек

  • Next.js 16 (App Router), React 19, TypeScript
  • shadcn/ui, Tailwind CSS 4, TanStack Table, react-hook-form + zod, светлая и тёмная темы
  • Strapi 5 (REST, Document Service API), SQLite
  • Strapi Cron для мониторинга, повторяющихся счетов, напоминаний и бекапов
  • Nodemailer (SMTP), Telegram Bot API, MAX API