Задача: бизнесу нужен простой канал приёма заявок в Telegram без отдельного сайта.
Решение: бот на Python (aiogram 3):
- /order — пошаговая форма заявки + кнопки меню
- /calc — безопасный калькулятор (разбор AST, не eval)
- заявки в SQLite, уведомление админу в Telegram
- /orders только для администратора
Решение:
1. Проанализировал сценарии использования: кто отправляет заявки, какие данные нужны, как админ получает уведомления.
2. Спроектировал модульную архитектуру: bot.py (маршрутизация), calc.py (безопасный калькулятор через AST), storage.py (SQLite), config.py (.env).
3. Разработал бота на aiogram 3 с FSM для пошаговой формы. Реализовал безопасный калькулятор через разбор AST-дерева.
4. Написал pytest-тесты для калькулятора и хранилища. Проверил граничные случаи.
5. Оформил README, .env.example, список команд.
Результат: клиент получает работающего бота, модули исходников и инструкцию по запуску.
Стек: Python, aiogram, SQLite.
Срок на такой объём: 1–2 дня.