DevLog #15
30 липня 2026. Оригінал зі скриншотами й відео — у Notion.
Релізи після попереднього девлогу: v0.14.0-beta "Red Queen Ant", v0.14.1–v0.14.3-beta "Liberty Queen Ant",
v0.15.0-beta "Ant Colony", v0.15.1-beta "Ant Colony+", v0.16.0-beta "Weaver Ant".
Це найбільший і найбільш візуальний девлог за весь час. Після «Королеви мурах» система зробила три великі кроки: отримала власну дизайн-систему Лілейка — новий вигляд, темну тему й український інтерфейс; стала самостійною — ProjectK можна розгорнути у себе без моєї участі; і отримала дві речі, яких бракувало в щоденній роботі — верифікацію профілів і внутрішні сповіщення.
1. Лілейка — нова дизайн-система
Section titled “1. Лілейка — нова дизайн-система”Найбільша візуальна зміна за всю історію проєкту: брендбук, єдині дизайн-токени, власний preset для компонентів і самостійно розміщені шрифти (Manrope і Neucha). Усі екрани — куреня, системні та адмінські — переведено на цей набір. На практиці інтерфейс став цілісним: усе виглядає як один продукт.
2. Темна тема
Section titled “2. Темна тема”Повноцінна темна тема з перемикачем на панелі. Оскільки все на токенах, тема працює однаково на всіх екранах.
3. Український інтерфейс
Section titled “3. Український інтерфейс”Адмінські екрани, дії з оголошеннями, діалоги підтвердження — українською. Система робиться для пластових куренів, і мова інтерфейсу має бути рідною.
4. Персоналізований дашборд
Section titled “4. Персоналізований дашборд”Плитки можна перетягувати, розкладка зберігається окремо для кожного користувача.
5. Навігація: breadcrumbs та порожні стани
Section titled “5. Навігація: breadcrumbs та порожні стани”Breadcrumbs будуються з реальних маршрутів і назв обʼєктів. Порожні стани для списків (учасники, КВ, провід, розгляд вмілостей) замість порожньої сторінки. Динамічні заголовки вкладок і підсвітка поточного пункту меню.
6. Верифікація профілів учасників
Section titled “6. Верифікація профілів учасників”Найбільша зміна в бізнес-логіці за останні версії. Кожен профіль має один із трьох станів:
| Стан | Що означає |
|---|---|
| Не верифікований | Дані ніхто не перевіряв |
| Верифікований (актуальний) | Дані перевірені і не змінювалися відтоді |
| Верифікований (застарілий) | Дані перевірені, але потім суттєво змінилися — потрібна повторна перевірка |
Статус скидається в «застарілий» лише при суттєвих змінах профілю. Верифікують Звʼязковий і адміністратор у межах куреня, впорядник — у межах свого гуртка. Верифікацію можна вимкнути на рівні куреня.
7. Внутрішня система сповіщень
Section titled “7. Внутрішня система сповіщень”Дзвіночок у хедері з лічильником непрочитаних і скринька: найновіші зверху, прочитано/непрочитано, «прочитати все», перехід на потрібну сторінку зі сповіщення. Події: верифікація профілю, зміна даних після верифікації, розгляд вмілостей, відзначення, перестороги, зміни у проводі. Є дедуплікація, щоб повторні події не спамили.
8. Self-host: онбординг і перший запуск
Section titled “8. Self-host: онбординг і перший запуск”ProjectK тепер можна розгорнути самостійно. При першому запуску відкривається сторінка початкового налаштування: акаунт першого адміністратора, глобальні налаштування, за бажанням демо-дані. Після завершення сторінка стає недоступною. Докладніше — Self-host.
9. Глобальні налаштування системи
Section titled “9. Глобальні налаштування системи”Окрема адмінська сторінка. Перше налаштування — обовʼязкова MFA для важливих ролей; у self-host вона за замовчуванням вимкнена: це рішення власника інсталяції.
10. Сортування таблиць і порядок проводу
Section titled “10. Сортування таблиць і порядок проводу”Таблиці учасників сортуються по стовпцях, коректно і для складених значень (повне імʼя, вага ролі, ступінь). Провід відображається у фіксованому порядку за пріоритетом ролі, а не за датами каденцій.
11. Бейдж версії та середовища
Section titled “11. Бейдж версії та середовища”Внизу сайдбару — версія, кодова назва і середовище, наприклад v0.15.0-beta "Ant Colony" | Self-Host.
12. Безпека, технічні покращення та виправлення
Section titled “12. Безпека, технічні покращення та виправлення”- Контроль доступу: адмінський доступ обмежений куренем, у який зайшли, і скидається при виході; при перемиканні куреня токени видаються заново, кеш очищається; перевірка доступу fail-closed; GeoIP пропускається для локальних адрес.
- Інфраструктура: параметризована система контейнерів (
dev,e2e,selfhost,tailscale,staging,prod) з гарячим перезавантаженням, усе вdocker/, оновлений CI/CD, токен збірки з середовища, оновлена документація self-host. - Бекенд: кешований сервіс налаштувань, єдина точка рішення для обовʼязкової MFA, демо-дані в окремому сервісі, тести на верифікацію, сортування, права і сповіщення.
- Виправлення: діалог MFA не зʼявляється, коли обовʼязкова MFA вимкнена; перемикач MFA у
глобальних налаштуваннях; сховище файлів у контейнерах (розблокувало фото в self-host);
«сплюснуті» перемикачі, назва середовища, оркестратор без спільної мережі, подвійний hover у
сайдбарі, історія ступенів у списках, шрифти локально, брендбук
BRANDBOOK.md.
Розбивка по версіях
Section titled “Розбивка по версіях”- v0.14.0-beta “Red Queen Ant” — 15.07.2026. Верифікація профілів, сповіщення, сортування, стабільний порядок проводу.
- v0.14.1–v0.14.3-beta “Liberty Queen Ant” — 17.07.2026. Self-host: локальне налаштування, docker-образ, CI/CD, проміжні виправлення.
- v0.15.0-beta “Ant Colony” — 19.07.2026. Онбординг self-host, глобальні налаштування, керована MFA, бейдж версії, система контейнерів.
- v0.15.1-beta “Ant Colony+” — 19.07.2026. Назва середовища при запуску.
- v0.16.0-beta “Weaver Ant” — 29.07.2026. Дизайн-система Лілейка, темна тема, український інтерфейс, дашборд, breadcrumbs і порожні стани, контроль доступу.
Система нарешті почала виглядати як продукт
Section titled “Система нарешті почала виглядати як продукт”До цього ProjectK був чимось, що працює «у мене» і виглядає технічно. За ці версії він отримав власне обличчя — Лілейку — і можливість жити без мене: розгорнути, налаштувати і працювати. А верифікація профілів і сповіщення закривають дві головні прогалини щоденної роботи: чи дані актуальні, і що взагалі відбувається в системі.