Цей проект є сучасним Telegram Mini App, призначеним для пошуку та моніторингу оголошень на платформах OLX.ua та DOM.RIA. Додаток має преміальний адаптивний інтерфейс у стилі iOS, підтримує інтеграцію з Telegram WebApp API (зокрема Haptic Feedback) та адаптується під тему месенджера.
- 🔍 Загальний пошук OLX: Зручний пошук будь-яких товарів та послуг з можливістю фільтрації за ціною.
- 🏢 Пошук нерухомості: Спеціалізований розділ для оренди/купівлі квартир із підтримкою парсингу відразу з двох джерел: OLX.ua та DOM.RIA.
- 📍 Гнучка фільтрація нерухомості:
- Вибір міста (Київ, Львів, Одеса, Дніпро, Харків).
- Діапазон цін (мінімальна та максимальна ціна в грн).
- Кількість кімнат (1, 2, 3+ кімнати).
- 💾 Збережені (Обране): Можливість зберігати цікаві оголошення в локальне сховище (Local Storage) для швидкого доступу.
- 🤖 Telegram-бот: Бот на базі
grammy, який надсилає посилання на запуск Mini App та автоматично налаштовує кнопку меню для швидкого доступу. - 🔗 Автоматичний тунель: Програмна інтеграція з
localtunnelдозволяє запускати проект локально без складних налаштувань вебхуків.
- Frontend: React (Vite), Lucide-React, Vanilla CSS (iOS Design System).
- Backend: Node.js, Express, Cors, Dotenv.
- Scraping:
cheerio,got-scraping(для обходу блокувань). - Telegram Bot:
grammy(Telegram Bot API framework). - Tunneling:
localtunnel(програмна інтеграція).
Переконайтеся, що на вашому комп'ютері встановлено Node.js (версії 18+).
git clone https://github.com/Femorin/Parser-miniapp.git
cd Parser-miniappВстановіть необхідні пакети для всього проекту:
npm installСтворіть файл .env у кореневій директорії на основі прикладу .env.example:
# Telegram Bot Token (отримайте у @BotFather)
BOT_TOKEN=ваш_токен_бота
# URL веб-додатку. Для тестування можна залишити порожнім або вказати локальний хост.
# Якщо значення містить "loca.lt" або порожнє, сервер автоматично запустить localtunnel.
WEBAPP_URL=https://t.me/your_bot_username/app
# Порт Express сервера
PORT=5000Перед запуском сервера зберіть React-фронтенд:
npm run buildЗапустіть бекенд-сервер, який автоматично обслуговує зібраний фронтенд та запускає бота:
node server.jsПісля успішного запуску ви побачите повідомлення про те, що сервер працює, локальний тунель створено, а кнопку меню бота оновлено. Можна переходити в Telegram і відкривати бот!