Як я будую Lily SportOS: SaaS для спортивних клубів
Lily SportOS — платформа для спортивних клубів України, яку я проєктую і розробляю сам. Розповім, навіщо вона з’явилась і які рішення лежать в її основі.
Звідки взялась ідея
Спортивні клуби працюють з великою кількістю людей: спортсмени, батьки, тренери, організатори змагань. При цьому більшість процесів живе в таблицях, групових чатах і паперових журналах. Оплати відстежуються вручну, історія спортсмена розкидана по різних місцях, а організація турніру забирає купу часу.
Я хотів зробити одну систему, яка закриває ці задачі і при цьому підходить не одному клубу, а багатьом.
Мультитенантність з першого дня
Головне архітектурне рішення: кожен клуб отримує окремий простір із власними даними, налаштуваннями і ролями. Для користувача це виглядає як «своя» система, а для мене це одна платформа, яку легко оновлювати для всіх одночасно.
Закласти таку архітектуру на старті складніше, ніж зробити систему для одного клієнта. Зате потім не доводиться все переписувати, коли приходить другий, третій і десятий клуб.
Що вміє платформа
- Оплати. Онлайн-оплати через Monobank Acquiring з автоматичним відстеженням статусу, без звірки скриншотів переказів.
- Турніри. Організація змагань, включно з подіями, у яких беруть участь кілька клубів.
- Паспорти спортсменів. Історія та досягнення кожного спортсмена в одному місці.
- Адмін-панелі. Керівник клубу бачить усе, що відбувається, і керує цим без технічних знань.
- Telegram Mini Apps. Користувачам не треба встановлювати окремий застосунок: усе відкривається прямо в Telegram.
Інфраструктура
Платформа працює на власному VPS у контейнерах Docker Compose. Це дає контроль над даними, передбачувані витрати і швидкий деплой оновлень.
Що це дає клієнтам
Коли ти будуєш власний продукт, ти відповідаєш за все: архітектуру, стабільність, зручність і підтримку. Цей досвід я переношу в клієнтські проєкти. Навіть простий бот я проєктую так, щоб його можна було розширити до повноцінної системи, не починаючи з нуля.
Детальніше про платформу можна прочитати у кейсі.