System Context (C4 рівень 1)
Найвищий рівень: хто користується системами, через які канали і з якими зовнішніми сервісами вони взаємодіють.
flowchart TB
applicant([👤 Абітурієнт / Студент])
admin([👤 Адмін / Контент-менеджер])
insider([👤 Студент-інсайдер<br/>Studsearch UGC])
subgraph abitly[Abitly.org]
a_web[Web · Next.js]
a_mini[Telegram Mini App · Next.js]
a_bot[Telegram bot]
a_api[API / backend]
a_cms[Strapi CMS]
a_analytics[Analytics<br/>lake-house]
end
subgraph studsearch[Studsearch.org]
s_web[Web · Next.js]
s_api[Backend]
s_bot[Telegram bot]
end
subgraph external[Зовнішні системи]
pay[💳 Monobank]
google[🔐 Google OAuth]
tg[📨 Telegram API]
smtp[✉️ SMTP]
tutor[🎓 Tutor service]
cf[☁️ Cloudflare DNS/CDN]
end
applicant --> a_web & s_web
applicant --> a_bot
a_bot -- launches --> a_mini
insider --> s_web
admin --> a_cms
a_web & s_web --> cf
a_web -- cross-product --> s_api
a_web --> a_api
a_web --> a_cms
a_web --> a_analytics
a_mini --> a_api
a_bot --> a_api
s_web --> s_api
s_api -- cross-product --> a_api
a_api --> pay & google & smtp & tutor
s_api --> google
a_bot --> tg
s_bot --> tg
Як читати
Section titled “Як читати”- Канали входу:
- Веб-сайти (
abitly.org,studsearch.org) — через Cloudflare. - Telegram — два entry points: бот (повідомлення) і Mini App (вбудований Next.js, який запускається з бота).
- Веб-сайти (
- Cross-product зв’язок: фронт Abitly читає Studsearch API (cross-product пошук інсайдерського контенту), а Studsearch backend читає Abitly API (SSM
abitly_url). - Analytics — окремий продукт-аналітики потік від фронту в lake-house.
- Платежі — Monobank.
- Auth — Google OAuth + JWT (плюс Telegram login через бот).
- Email — SMTP (провайдер
TODO:— спершу подивитисьSMTP_HOSTзначення).
Деталі по сервісах → containers. Потоки → data-flows. Платформи → infrastructure.