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%)