Назад к резюме

Собственный продукт

NotiBox — собственный SaaS-сервис для отправки уведомлений и событий в реальном времени через WebSocket. Разработал проект с нуля: лендинг, личный кабинет и админ-панель, систему мониторинга приложений и интеграцию с Pusher-совместимым API.

NotiBox

WebSocket-ядро на базе Sockudo

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

Часть исправлений была оформлена и отправлена обратно в upstream проекта, что позволило внести вклад в используемый open source компонент.

Мониторинг в личном кабинете

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

Такой подход позволил объединить управление приложениями и их мониторинг в единую рабочую область.

Нагрузочное тестирование

Провёл нагрузочное тестирование WebSocket-инфраструктуры и оптимизировал её работу под ограниченные серверные ресурсы. На сервере с 1 vCPU и 2 ГБ RAM система выдерживает около 5000 одновременных WebSocket-соединений.

В процессе тестирования выявил несколько проблем в Sockudo, локализовал их причины и реализовал исправления. Часть изменений впоследствии была передана в upstream.

Полноценный SaaS-продукт

Разработал сервис полностью с нуля, включая лендинг, личный кабинет, админ-панель, биллинг, управление приложениями, мониторинг и WebSocket-инфраструктуру.

В результате получился самостоятельный SaaS-продукт, в котором все основные компоненты — от пользовательского интерфейса до real-time инфраструктуры — находятся под контролем одной системы.

Стек технологий

  • NextJS
  • Rust
  • WebSocket
  • Sockudo
  • Pusher API