VITALIY
VOLOSHIN

Знакомства рядом, внутри Telegram

LobbyDate помогает найти компанию для кофе, прогулки или вечера в городе. Люди выбирают интересы и формат встречи, смотрят анкеты рядом и начинают общение. Я полностью разработал приложение с нуля: от интерфейса до серверной логики.

ЗадачаРазработать мобильное приложение для знакомств по месту и интересам

В основе LobbyDate — знакомство с людьми, которые находятся поблизости и хотят провести время похожим образом. Нужно было связать анкету, поиск по расстоянию и местам, взаимные симпатии и переписку в одном приложении внутри Telegram. Помимо основного сценария требовались платные возможности, подарки, приглашения друзей и инструменты модерации. Предстояло разработать мобильный интерфейс, серверную логику и связать все сценарии между собой.

Мой вкладПолная разработка приложения

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

Мобильный интерфейс
Разработал экраны и визуальный стиль приложения: анкету по шагам, ленту, нижнюю навигацию и панели действий. Учёл ограниченную ширину экрана и работу внутри Telegram.
Сервер и данные
Спроектировал модели профилей, интересов, отметок, симпатий и сообщений. Реализовал API, Telegram-авторизацию, проверки доступа и хранение состояния приложения.
Геопоиск и места
Реализовал подбор анкет по координатам, радиусу, городу и выбранному месту. Связал результаты с активными отметками пользователей и временем их действия.
Симпатии и переписка
Разработал входящие и отправленные лайки, взаимные совпадения и диалоги. Добавил непрочитанные сообщения, подарки в чате, жалобы и блокировки.
Платные возможности
Подключил Telegram Stars и реализовал тарифы Premium, продвижение Boost и учёт срока действия. Полученные подарки хранятся в инвентаре до активации.
Приглашения и управление
Разработал реферальные ссылки, учёт активации приглашённых участников и выдачу наград. Добавил управление пользователями, модерацией, событиями и QR-кампаниями.

От анкеты до встречи

Рассказать о себе и выбрать формат знакомства

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

Посмотреть, кто находится рядом

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

Познакомиться в конкретном месте

Поиск работает не только вокруг текущих координат. Можно выбрать заведение из списка и увидеть людей, отметившихся там, либо искать по городу. Для событий предусмотрена отдельная отметка участия: гости попадают в общую ленту мероприятия. Время действия отметок ограничено, чтобы поиск учитывал актуальное присутствие.

Показать интерес и узнать друг друга

Входящие и отправленные симпатии собраны отдельно. Из списка можно открыть полную анкету: посмотреть фотографию, прочитать описание и узнать интересы человека. Ответная симпатия создаёт совпадение и открывает общение. Для нежелательных контактов доступны блокировка и жалоба с причиной и комментарием.

Продолжить знакомство в диалоге

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

Расширить поиск и привлечь внимание

Premium увеличивает возможности поиска и лимит симпатий, а Boost поднимает анкету в ленте. Пользователь видит доступные варианты и срок действия активной услуги. Оплата проходит через Telegram Stars. Подаренные Premium и Boost попадают в инвентарь: их можно активировать позже, когда соответствующая услуга не активна.

Пригласить друзей и получить награды

Программа приглашений показывает прогресс к наградам, число активных участников и доступные подарки. В отдельном списке видно, кто пришёл по приглашению и кто уже активировался. История сохраняет выданные бонусы и их состояние. Учёт приглашений и начисление наград выполняются на сервере и связаны с действиями нового участника.

Геопоиск, общение и платежи в одной системе

Мобильный интерфейс написан на React и TypeScript, API — на FastAPI. PostgreSQL хранит профили, связи и сообщения, а PostGIS используется для работы с координатами и расстояниями. Telegram обеспечивает вход в приложение, уведомления и оплату Stars. Сервер проверяет взаимные симпатии, настройки получателя и активные права перед действиями в чате. Сообщения обновляются периодическими запросами; сроки отметок, подписок и подарков учитываются отдельно.

  • TypeScript
  • React
  • Python
  • FastAPI
  • Telegram API
  • PostgreSQL
  • PostGIS
  • SQLAlchemy

Обсудим
ваш проект

Расскажите о задаче

Оставьте контакт и пару слов о проекте. Я прочитаю заявку и свяжусь с вами, чтобы обсудить детали.