Це міг бути найкращий телеграм-бот із найчистішою архітектурою...
Але я ще не до кінця досвідчений кодер. Тому зліплено воно потом, стражданням і щасливим випадком.
Зате воно працює. І навіть іноді стабільно. 😅Надіюся, я ще повернусь до цього коду — але вже трохи мудрішим.
Це Telegram-бот для оформлення замовлень (їжі / продуктів / чого душа забажає).
Юзер додає товари в кошик → бот рахує суму → додає доставку, якщо замало → і все летить адміну.
Ціль — максимально простий MVP для реального використання.
| Компонент | Що використано |
|---|---|
| 🧠 Мова | Ruby |
| 🔧 Сервер | Roda |
| 💾 База | PostgreSQL через Sequel ORM |
| 📦 Деплой | Railway |
| 📬 Бот | Telegram Bot API |
| 🗂 Migrations | Sequel::Migrator |
| 🗃 Архітектура | Щось типу MVC... майже 😅 |
- Завантаж код у GitHub
- Підключи до Railway → деплой із Git
- Вказати
ENVзмінні:DATABASE_URLTELEGRAM_BOT_TOKENWEBHOOK_URL(дляset_webhook.rb)
- Railway автоматично виконає твій
start.sh:- Міграції
- Сідінг
- Вебхук
- Запуск
rackup
bundle install
PORT=3000 ruby run_migration_prod.rb
ruby db/seed.rb
ruby set_webhook.rb
rackup config.ru -p 3000Версія: v0.0.2
Архітектура: емоційно орієнтована
Покриття тестами: на рівні віри
Продуктивність: стабільно тримається на ентузіазмі
[] Покращити структуру коду
[] Винести логіку у сервіси
[] Додати нормальний логін/аутентифікацію
[] Більше гумору і менше сорому за цей README
Пиши мені в Telegram якщо хочеш спитати "А чому воно взагалі працює?"
🐙 GitHub
Made with ❤️, кава і прокрастинація