OneLink
Все кейсыGaming · Telegram Mini App

Telegram Mini App с мини-играми и системой заданий

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

О проекте

Клиент — продукт для аудитории из Индии, которая живёт в Telegram: игры, кошелёк и задания должны открываться одним окном, без установки и отдельной регистрации. Деньги — в рупиях, платежи принимает внешний провайдер. Нужна была рабочая основа, на которую можно наращивать игры и механики.

Стек технологий

ReactViteGoPostgreSQLRedisWebSocket

Задача

Сделать приложение внутри Telegram для аудитории из Индии: вход без регистрации, кошелёк в рупиях, мини-игры, график в реальном времени, система заданий и реферальная программа.

Ограничения

Приложение живёт внутри Telegram: вход только через подписанные данные Telegram, интерфейс рассчитан на телефон. Пополнение идёт через внешнего платёжного провайдера с подписанными обратными вызовами. График цены нельзя строить отдельно у каждого клиента: всем пользователям нужен один общий поток данных с биржи. Результат игры всегда считает сервер, клиент ничего не решает.

Решение

Фронтенд написали на React, серверную часть — на Go с PostgreSQL и Redis. Сервер держит одно исходящее соединение с биржей, хранит секундные свечи в Redis и раздаёт их клиентам по WebSocket. Реализовали мини-игры, колесо фортуны, 60 уровней заданий с наградами и реферальную программу. Бот на Python открывает приложение по кнопке и принимает реферальные ссылки. Всё собрано в Docker Compose за nginx.

Сложности

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

Дальнейшее развитие

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

Результат

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