Skip to content

Repository files navigation

OLX & DOM.RIA Parser - Telegram Mini App 📱✨

Цей проект є сучасним 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 (програмна інтеграція).

⚙️ Налаштування та запуск

1. Попередні вимоги

Переконайтеся, що на вашому комп'ютері встановлено Node.js (версії 18+).

2. Клонування репозиторію

git clone https://github.com/Femorin/Parser-miniapp.git
cd Parser-miniapp

3. Встановлення залежностей

Встановіть необхідні пакети для всього проекту:

npm install

4. Налаштування файлу конфігурації

Створіть файл .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

5. Збірка клієнтської частини

Перед запуском сервера зберіть React-фронтенд:

npm run build

6. Запуск сервера та бота

Запустіть бекенд-сервер, який автоматично обслуговує зібраний фронтенд та запускає бота:

node server.js

Після успішного запуску ви побачите повідомлення про те, що сервер працює, локальний тунель створено, а кнопку меню бота оновлено. Можна переходити в Telegram і відкривати бот!

About

This is a mini Telegram application that allows you to parse any ads from the OLX, add them to the saved ones, and search for an apartment on dom.ria

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages