[Продуктовая разработка · UI-инженерия · Интеграция с бэкендом]

Telegram Mini App и интерфейс продукта

Пользовательская сторона платформы: Telegram Mini App, который объединяет сигналы, настройки, AI-чат, подписки и состояние аккаунта в одном мобильном интерфейсе на четырёх языках.

Принадлежность
Подсистема экосистемы торговой и AI-автоматизации Astra Raven
Технический фокус
Telegram Mini AppsHTML / CSS / JSSVG ChartsAPI-driven UIi18n
Что демонстрирует
Веб-интерфейсы · Telegram Mini Apps · UX-архитектура · Интеграция frontend и backend · Адаптивный дизайн · UI на основе API · Мультиязычная разработка

01Обзор проекта

Большая часть Astra Raven не видна: планировщики, проверки, состояние. Mini App — то место, где всё это становится понятным, и пользователь может управлять этим прямо в Telegram.

Приложение подключается к бэкенду для авторизации через Telegram, состояния аккаунта, сигналов, личных настроек, AI-чата и статуса подписки и показывает их в адаптивном анимированном интерфейсе, проверенном на реальных устройствах.

02Инженерная задача

Mini App работает внутри WebView Telegram, который ведёт себя по-разному на разных платформах. Приложение должно ощущаться нативным, быстро работать на телефоне и отображать сложное серверное состояние, не перегружая пользователя.

  • A

    Авторизовать пользователей через Telegram и связать их с аккаунтами в бэкенде.

  • B

    Последовательно показывать функции, зависящие от доступа, в соответствии со статусом подписки.

  • C

    Сохранять плавность графиков и переходов внутри мобильного WebView.

  • D

    Полностью перевести каждый экран на четыре языка.

03Архитектура решения

Наведите или нажмите на этап.

01

Клиент Telegram

Пользователь открывает Mini App из бота; Telegram передаёт подписанные init-данные.

04Основные компоненты

  • 01

    Главная

    Обзор аккаунта со структурированными карточками ключевого состояния.

  • 02

    Экран сигналов

    Структурированные карточки сигналов с параметрами и статусом на основе движка сигналов.

  • 03

    AI-чат

    Диалоговый интерфейс, подключённый к подсистеме AI-ассистента.

  • 04

    Настройки

    Личная конфигурация, сохраняемая на бэкенде, включая язык и предпочтения по риску.

  • 05

    Подписки и доступ

    Логика UI, которая последовательно отражает уровень доступа пользователя на всех экранах.

  • 06

    Слой локализации

    Строки на русском, английском, польском и украинском для всего интерфейса.

05Технологический стек

Интерфейс

  • HTML
  • CSS
  • JavaScript
  • SVG

Платформа

  • Telegram Mini Apps
  • Telegram Bot API
  • Mobile WebView

Интеграция

  • Python backend
  • REST endpoints
  • i18n

06Интерактивная демонстрация

Обзор экранов Mini App

ИллюстрацияКонцепт-макет — иллюстративные экраны, отражающие реализованный набор функций. Это не скриншоты продукта; их заменят реальные.

mini-app · concept mockupКонцепт-макет

Экран

Язык — переключается каждая строка

Иллюстративные экраны, отражающие реализованные функции: главная, сигналы, AI-чат, настройки и логика подписки на четырёх языках. Реальные скриншоты заменят этот макет.

‹Astra Raven⋯

07Инженерные решения

  1. 01

    Источник истины — бэкенд

    Клиент отображает состояние и отправляет намерения; доступ, настройки и проверки решаются на сервере.

  2. 02

    SVG для графиков

    Лёгкие, чёткие при любой плотности пикселей и легко анимируются внутри WebView.

  3. 03

    Переводы как данные

    Все строки лежат в словарях локалей, поэтому добавление или исправление языка не затрагивает код вёрстки.

  4. 04

    Тест на реальной цели

    Поведение проверяется внутри Telegram на iPhone, а не только в десктопном браузере.

08Надёжность и тестирование

  • Проверка init-данных Telegram на сервере.
  • Аккуратные пустые состояния и состояния ошибок для каждого экрана, зависящего от API.
  • Ручная приёмка на реальных устройствах внутри Telegram.
  • Проверка, что каждый ключ существует во всех четырёх локалях.

09Пример кода

i18n.js javascript
const dictionaries = {
  en: { "signals.title": "Signals", "settings.title": "Settings" },
  pl: { "signals.title": "Sygnały", "settings.title": "Ustawienia" },
  uk: { "signals.title": "Сигнали", "settings.title": "Налаштування" },
  ru: { "signals.title": "Сигналы", "settings.title": "Настройки" },
};

export function createTranslator(locale, fallback = "en") {
  const primary = dictionaries[locale] ?? {};
  const backup = dictionaries[fallback];

  return function t(key) {
    if (key in primary) return primary[key];
    console.warn(`[i18n] missing "${key}" for ${locale}`);
    return backup[key] ?? key;
  };
}

Иллюстрация Иллюстративный инженерный пример — поиск строки локали с запасным вариантом.

Исходный код продукта закрыт. Примеры показывают инженерный подход, а не внутреннюю логику. Больше — в Engineering Lab.

10Возможное развитие

  • Офлайн-кеширование последнего известного состояния аккаунта.
  • Автоматические визуальные регрессионные тесты ключевых экранов.
  • Веб-версия того же интерфейса вне Telegram.
Следующий кейс · 04 AI-ассистент и контекстная автоматизация Искусственный интеллект · Интеграция LLM · Автоматизация