How arnikros-lab/r_web-site works
ARETORA VPN Web is a Blazor Server frontend for a VPN subscription service, paired with a Python FastAPI backend. Users browse public pages, authenticate, then manage subscriptions, devices, and referrals; administrators manage users, analytics, settings, and content workflows. The frontend’s service layer calls the backend API, while Redis supplies realtime notification events. The README documents several frontend areas whose source was not sampled, so those branches use supported directory paths; backend internals are represented only where the README explicitly describes them.
Main entry points: ApiClient.cs API client · Admin Admin pages · Account Account pages · AuthService.cs Authentication
Components 23
Web experience
- Public pages
Pages - Browser
- Auth pages
Pages/Auth - Support bot API
User account
- Account pages
Components/Pages/Account - Authentication
Services/AuthService.cs - Account operations
Services/AccountService.cs - Account state
Services/AccountState.cs
Administration
- Admin pages
Components/Pages/Admin - Admin operations
Services/AdminService.cs - Content management
Services/ContentBotService.cs - Article ingestion
Services/IngestService.cs
API and events
- Token store
Services/TokenStore.cs - API client
Services/ApiClient.cs - FastAPI backend
- Redis listener
Services/RedisNotificationListener.cs - Notification bus
Services/NotificationService.cs - Redis Streams
- PostgreSQL
- WireGuard
- YooKassa
- Telegram Bot API
Other components
- Visitor
Connections 28
- Visitor → Public pages: browses
- Visitor → Auth pages: signs in
- Browser → Account pages: uses
- Browser → Admin pages: uses
- Auth pages → Authentication: submits credentials
- Authentication → Token store: stores tokens
- Authentication → API client: requests auth
- Account pages → Account operations: requests account actions
- Account pages → Account state: reads state
- Account operations → API client: calls
- Admin pages → Admin operations: requests admin actions
- Admin pages → Content management: manages content
- Admin pages → Article ingestion: manages ingestion
- Admin operations → API client: calls
- Content management → API client: calls
- Article ingestion → API client: calls
- API client → Token store: reads tokens
- API client → FastAPI backend: sends API requests
- FastAPI backend → PostgreSQL: reads and writes
- FastAPI backend → Redis Streams: uses queues and cache
- FastAPI backend → WireGuard: manages VPN
- FastAPI backend → YooKassa: processes payments
- FastAPI backend → Telegram Bot API: uses bot services
- Redis Streams → Redis listener: streams events
- Redis listener → Notification bus: publishes events
- Notification bus → Account pages: updates dashboard
- Notification bus → Admin pages: notifies dashboard
- Browser → Support bot API: chats via SSE