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 (підтримка по 2026)

Статус

Комерційний проєкт

Особистий внесок

  • З нуля розробив архітектуру сервісу онлайн-бронювання у форматі 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 і повторна перевірка promo

06

Відгуки, гарантії, нагадування, retention і розсилки

Engineering decisions

01

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

Customer TMA й admin routes використовують спільні Next.js codebase, API client і localization layer. Role checks відкривають worker та superuser tools.

02

Booking-інваріанти живуть у backend

FastAPI modules керують availability, безперервною тривалістю слотів, перенесенням і assignment. UI показує backend truth.

03

Billing має явну межу

Payments, methods і promo validation відокремлені від booking orchestration. Warranty та setup payments залишаються різними операціями.

04

Фонові задачі відновлювані

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

05

Operations є частиною delivery

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 / Архітектура системи

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

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

Відкрити інтерактивну схему ↗