CRM-система для автоматизації муніципальної служби Лайфгардів
Завдання: Розробити комплексну систему для цифровізації процесів служби порятунку на воді, замінивши паперову звітність та ручний контроль. Необхідно було створити зручний інтерфейс для роботи зі смартфону під прямим сонячним промінням та потужну адмін-панель для менеджменту.
Реалізований функціонал:
1. Кабінет рятувальника (Mobile-First):
Контроль дисципліни: Початок та завершення зміни реалізовано через сканування NFC-міток на постах із обов'язковою геолокацією та фото-підтвердженням.
Система звітності: Розроблено розширену форму подачі звітів. Реалізовано динамічне додавання інцидентів (порятунок, перша допомога, виклик поліції) зі складною валідацією даних.
Фінанси: Прозоре відображення нарахованої зарплати. Реалізовано формулу розрахунку "net/gross" з візуалізацією відпрацьованих годин, ставки, бонусних балів та податкових відрахувань.
UX/UI: Інтерфейс адаптовано під використання однією рукою, використано великі контрольні елементи та контрастні кольори.
2. Адміністративна панель та Моніторинг:
Оперативний дашборд: Відображення активних постів та статусів рятувальників у реальному часі.
Управління персоналом: Система ролей (Адмін, Оперативний, Рятувальник, Тренер), облік кадрів, історія змін.
Академія: Модуль для ведення успішності кандидатів, відвідуваності та нормативів.
Аналітика: Збір статистики по завантаженості пляжів та кількості інцидентів для прийняття управлінських рішень.
Технічні особливості:
Використання Supabase для backend-логіки та Realtime підписок.
Архітектура бази даних PostgreSQL зі строгими типами даних (генеровані TypeScript інтерфейси).
Оптимізована робота з часовими поясами (збереження локального часу без зайвих конвертацій UTC для точності звітності).
Реалізація PWA (Progressive Web App) для швидкого доступу та роботи в умовах поганого зв'язку.
Результат: Створено стабільну та масштабовану систему, що дозволила повністю відмовитись від паперових журналів, автоматизувати нарахування виплат та посилити контроль за безпекою на воді.
Реалізований функціонал:
1. Кабінет рятувальника (Mobile-First):
Контроль дисципліни: Початок та завершення зміни реалізовано через сканування NFC-міток на постах із обов'язковою геолокацією та фото-підтвердженням.
Система звітності: Розроблено розширену форму подачі звітів. Реалізовано динамічне додавання інцидентів (порятунок, перша допомога, виклик поліції) зі складною валідацією даних.
Фінанси: Прозоре відображення нарахованої зарплати. Реалізовано формулу розрахунку "net/gross" з візуалізацією відпрацьованих годин, ставки, бонусних балів та податкових відрахувань.
UX/UI: Інтерфейс адаптовано під використання однією рукою, використано великі контрольні елементи та контрастні кольори.
2. Адміністративна панель та Моніторинг:
Оперативний дашборд: Відображення активних постів та статусів рятувальників у реальному часі.
Управління персоналом: Система ролей (Адмін, Оперативний, Рятувальник, Тренер), облік кадрів, історія змін.
Академія: Модуль для ведення успішності кандидатів, відвідуваності та нормативів.
Аналітика: Збір статистики по завантаженості пляжів та кількості інцидентів для прийняття управлінських рішень.
Технічні особливості:
Використання Supabase для backend-логіки та Realtime підписок.
Архітектура бази даних PostgreSQL зі строгими типами даних (генеровані TypeScript інтерфейси).
Оптимізована робота з часовими поясами (збереження локального часу без зайвих конвертацій UTC для точності звітності).
Реалізація PWA (Progressive Web App) для швидкого доступу та роботи в умовах поганого зв'язку.
Результат: Створено стабільну та масштабовану систему, що дозволила повністю відмовитись від паперових журналів, автоматизувати нарахування виплат та посилити контроль за безпекою на воді.