m.moddie / dev
← Все проекты
Проект / 01

Danskyi TMA

Telegram-платформа бронирования и оплаты услуг с расписаниями, уведомлениями и админкой.

Python · Booking · Payments
Danskyi TMA

Catalog → Schedule → Booking → Payment → Fulfillment

FastAPI / PostgreSQL / ARQ / Next.js / Aiogram
Роль

Fullstack / Backend Engineer

Период / формат

11.2024 — 05.2025 (поддержка по наст. вр.)

Статус

Коммерческий проект

Личный вклад

  • С нуля разработал архитектуру сервиса онлайн-бронирования в формате Telegram Mini App: REST API, схему базы данных, админ-панель и клиентский интерфейс.
  • Реализовал алгоритм валидации расписания и бронирования слотов с использованием блокировок в PostgreSQL, исключив овербукинг и race conditions.
  • Интегрировал платежные шлюзы с обработкой вебхуков и асинхронную доставку уведомлений через бота на Aiogram и очередь ARQ.

Python, FastAPI, Dishka, PostgreSQL, Redis, ARQ, Aiogram 3, Next.js, TypeScript, Docker

01 / О проекте

О проекте

Telegram-платформа бронирования и оплаты услуг с расписаниями, уведомлениями и админкой.

02 / Product surfaces

Клиентский сценарий и операции

Одно Next.js-приложение обслуживает Telegram-сценарий бронирования и защищённое ролями desktop-пространство для исполнителей и администраторов.

Telegram Mini App

3 Telegram-скриншота · 1080 × 2400

Рабочее пространство администратора

3 desktop-экрана · 1920 × 1080

Экраны Mini App — оригинальные скриншоты из Telegram. Админка снята с реального Next.js-приложения на репрезентативных локальных mock-данных; FastAPI, PostgreSQL, Redis, платёжные провайдеры и ARQ workers не запускались.

03 / Case study

Production-платформа бронирования внутри Telegram

Danskyi превращает сервисный бизнес в управляемый workflow: выбор пакета, каноническое выделение слотов, оплата, выполнение, гарантия и retention принадлежат одному модульному backend.

Product scope

01

Telegram onboarding, локаль, часовой пояс и профиль клиента

02

Каталог пакетов оптимизации для разных устройств

03

90-минутные брони на канонической UTC-сетке из 16 слотов

04

Бронирование, переносы, срочность и назначение исполнителя

05

Provider checkout, crypto payment и повторная проверка промокода

06

Отзывы, гарантии, напоминания, retention и рассылки

Engineering decisions

01

Один продукт, два интерфейса

Customer TMA и admin routes используют общие Next.js codebase, API client и localization layer. Role checks открывают worker- и superuser-инструменты.

02

Booking-инварианты живут в backend

FastAPI-модули управляют availability, непрерывной длительностью слотов, переносами и assignment. UI показывает backend truth.

03

У billing явная граница

Payments, methods и promo validation отделены от booking orchestration. Warranty- и setup-платежи остаются разными операциями.

04

Фоновые задачи восстанавливаемы

ARQ jobs используют Redis transport для reminders, retention campaigns и cleanup, а PostgreSQL хранит долговечное business state.

05

Operations входят в поставку

Traefik, health probes, Prometheus, Grafana, Loki, Dozzle, CloudBeaver и backups поддерживаются вместе с приложением.

Repository structure

One monorepo with separate application, domain, transport and operations layers.

DANSKYI / MONOREPO
DANSKYI / TMA
apps/deployable application code
backend/src/core/config · PostgreSQL · Redis · security · Dishka · UoW
backend/src/modules/business capabilities with explicit ownership
users/ + catalog/Telegram identity · roles · service packages
bookings/ + schedules/booking lifecycle · canonical UTC slot engine · assignment
billing/ + promo_codes/payment methods · provider state · discounts
warranties/ + reviews/after-service guarantees · customer feedback
notifications/ + retention/ + mailings/reminders · campaigns · audience delivery
hardware/ + system/device evidence · runtime controls
backend/src/presentation/api/customer API · admin API · payment webhooks · health
backend/src/presentation/bot/Aiogram commands · onboarding · deep links
backend/src/worker/ARQ startup · scheduled jobs · retryable handlers
frontend/src/app/Next.js route groups for TMA and admin
(auth)/services · schedule · checkout · reviews · articles
(dashboard)/bookings · profile · promo codes · admin stats
(admin)/admin/dashboard · bookings · schedule · jobs · users · workers
frontend/src/components/shared cards · controls · modals · navigation
frontend/src/hooks/ + lib/Telegram bridge · API client · i18n · money · datetime
infra/runtime and operational delivery
docker/ + traefik/containers · same-origin routing · TLS
monitoring/Prometheus · Grafana · Loki · blackbox
backup/PostgreSQL backup and restore tooling
06 / Архитектура системы

Архитектура системы

Оригинальная документация проекта на русском

Открыть интерактивную схему ↗