Toilet Trainer Bot main image

Опис та деталі проекту

Задача

Toilet Trainer Bot вирішує практичну задачу: Telegram-бот для приучення до горщика, що надає нагадування та серії успіхів. Python та UX для батьків.

Це особистий навчальний проект (в активній розробці), в якому відпрацьовувалися конкретні патерни та інструменти без зайвої обв'язки.

Кейс демонструє підхід до завдань у сфері "Чат-боти та автоматизація процесів": від постановки до здачі з чіткою структурою модулів.

Перед стартом зафіксували критерії готовності: зрозумілий перший екран, передбачувані помилки форм, можливість доопрацювання без переписування половини кодової бази.

Рішення

Зроблена навчальна, але повноцінна реалізація з акцентом на читабельність коду та відтворювану збірку.

Сценарії спроектовані так, щоб основні дії укладалися в один-два екрани: менше переключень, менше помилок при введенні. Навігація та підписи полів узгоджені з звичними патернами — користувачу не потрібно "вчити інтерфейс."

Окрему увагу приділено станам завантаження та порожнім спискам: skeleton/spinner там, де дані приходять асинхронно, і зрозумілі empty-state тексти замість порожньої таблиці.

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

Сервер і дані: Python.

Інфраструктура та утиліти: Telegram.

Розподіл мов у репозиторії: Python (74.9%), TypeScript (12%), CSS (6%), Shell (4.7%), Dockerfile (0.7%), Mako (0.7%), JavaScript (0.6%), HTML (0.5%).

Шари розділені так, щоб UI не знав деталей транспорту: адаптери API/сховища, доменні типи, компоненти представлення. Це спрощує заміну бекенду та точкові UX-правки.

Ключові функції

  • Python — використаний у продуктовой логіці: зменшує кількість самописного коду та прискорює додавання нових екранів.
  • Telegram — використаний у продуктовой логіці: зменшує кількість самописного коду та прискорює додавання нових екранів.

Додатково:

  • Інтеграція та використання Python у продуктовой логіці та інтерфейсі.
  • Інтеграція та використання Telegram у продуктовой логіці та інтерфейсі.
  • Валідація користувацького вводу та зрозумілі повідомлення про помилки.

Результат

MVP вже покриває ключовий сценарій; далі — розширення звітності, тестів та моніторингу.

Вихідний код відкритий: https://github.com/astropsy999/toilet-trainer-bot — можна оцінити структуру модулів та стиль комітів.

Що б покращив

Наступний крок — observability (логи/метрики), автотести на регрес та документація API для інтеграторів. Для high-load сценаріїв — профілювання вузьких місць та кешування довідників.

Часті запитання

Для чого потрібен проєкт «Toilet Trainer Bot»?

Telegram-бот для привчання до горщика: нагадування та серії успіхів. Python і UX для опікунів.

Який стек у «Toilet Trainer Bot»?

Технології: Python, Telegram.

Інформація про проект

Personal/LearningIn Development

Використані технології

PythonTelegram

Мови

Python (74.9%)TypeScript (12%)CSS (6%)Shell (4.7%)Dockerfile (0.7%)Mako (0.7%)JavaScript (0.6%)HTML (0.5%)