• Разовая выгрузка базы заведений по городу
    1 грн.
    Исполнитель определен: Віктор pro

    Нужно собрать базу всех заведений, доступных в приложении/ на сайте по городу
    1. Название заведения
    2. Адрес (где находится)
    3. Время работы
    Формат результата: Google Таблица или Excel — три колонки: Название / Адрес / Время работы.

    Требования:
    Нужны абсолютно все заведения по городу: рестораны, кафе, суши, пицца, аптеки, магазины
    Без пропусков и дублей
    Если у заведения несколько точек — каждая точка отдельной строкой со своим адресом
    Оплата: после проверки результата (выборочно сверю 10-15 заведений с приложением).
    Работа разовая. Укажите в отклике срок и цену.
    В телеграмме более подробно: @Hik23r

  • Разработка Telegram-бота для доставки: заведения + курьеры (Python, aiogram)

    Нужен Telegram-бот для сервиса доставки — связывает заведения (кафе, магазины) и курьеров, распределяет заказы между свободными курьерами, считает

    комиссию для владельца.

    Суть работы бота:

    Заведение создает заказ через бота

    (адрес, сумма, комментарий) → бот

    рассылает всем курьерам "на смене" →

    первый нажавший "Взять заказ" получает

    его, у остальных заказ пропадает из

    списка → курьер отмечает "Доставлено"



    считается комиССИЯ.

    Три роли в боте: Заведение, Курьер, Админ (я). У каждой роли своя логика и набор команд
    CTeK: Python, aiogram, SQLite (MVP), деплой на VPS.

    Что нужно от исполнителя:

    Реализовать регистрацию с разделением по ролям (FSM)

    Логику создания заказа и рассылки курьерам

    Систему "первый взял — остальным недоступно"

    Простую админ-панель со статистикой

    Обработку форс-мажоров (курьер не может выполнить заказ)

  • Телеграмм бот
    2000 грн.

    ​1. Цель проекта
    ​Создание Telegram-бота для курьеров города Бровары. Бот предназначен для мониторинга загруженности двух точек McDonald's:
    ​МакДональдс №1 — ул. Киевская, 162
    ​МакДональдс №2 — ул. Киевская, 239
    ​Информация собирается по принципу краудсорсинга (курьеры сами отмечают статус, находясь на точке). Доступ к информации платный (подписка) либо бесплатный в обмен на активность (отчеты).
    ​2. Стек технологий
    ​Язык: Python 3.10+
    ​Фреймворк: aiogram 3.x (асинхронный)
    ​База данных: SQLite
    ​Планировщик задач: APScheduler
    ​3. Логика подписки и баланса (Критически важно)
    ​У каждого пользователя в БД есть поле balance_days (целое число).
    ​При первом запуске (/start) пользователю автоматически начисляется 3 дня демо-доступа.
    ​Каждый день в 00:00 у всех пользователей balance_days уменьшается на 1.
    ​Если balance_days > 0, пользователь имеет статус «Подписчик» и видит всю информацию.
    ​Если balance_days == 0, пользователь видит только кнопку «Мой профиль» с инструкцией по оплате и не может смотреть радар.
    ​Система поощрения (Бартер):
    Если пользователь успешно отправляет отчет со статусом точки, бот мгновенно увеличивает его balance_days на +1 день. (Лимит: не более 3 начислений в сутки от одного юзера, чтобы избежать накрутки).
    ​4. Интерфейс и сценарии пользователя
    ​Главное меню (Reply-кнопки):
    ​[ ? Че там в Маках? ]
    ​[ ? Я в Маке (Отметиться) ]
    ​[ ? Мой профиль ]
    ​Сценарий 1: Просмотр статуса ([ ? Че там в Маках? ])
    ​Бот отправляет ОДНО сообщение со статусом обеих точек:
    ​? МАК на Киевской, 162:
    Статус: [Зеленый/Желтый/Красный/Серый смайл] [ТЕКСТ СТАТУСА]
    Обновлено: ХХ минут назад
    Комментарий: [Текст комментария]
    ​? МАК на Киевской, 239:
    Статус: ...
    ​Сценарий 2: Отправка отчета ([ ? Я в Маке (Отметиться) ])
    ​Бот запрашивает геолокацию: кнопка [ Отправить геопозицию ? ] (request_location=True).
    ​Проверка координат (Backend):
    Программист жестко зашивает в код координаты двух Маков. Бот проверяет, находится ли юзер в радиусе 70 метров от любого из них.
    ​Если далеко: Выдать ошибку: «Ты слишком далеко от МакДональдса!» и прервать сценарий.
    ​Если на месте: Автоматически определить, какой это Мак, и выдать Inline-кнопки статуса:
    ​[ ? Быстро (до 7 мин) ]
    ​[ ? Тянут (10-20 мин) ]
    ​[ ? Запара (30+ мин) ]
    ​После выбора статуса бот предлагает отправить короткий комментарий текстом или нажать Inline-кнопку [ Пропустить ➡️ ].
    ​Конец сценария: Обновление данных в БД, начисление +1 дня к балансу юзера.
    ​5. Фоновые процессы (Backend)
    ​TTL статусов (Устаревание): Если статус точки не обновлялся 45 минут, APScheduler автоматически переводит её в статус: ⚪️ Нет актуальных данных.
    ​Push-нотификация: Если кто-то отправляет статус ? Запара (30+ мин), бот делает массовую рассылку (рассылает это сообщение) всем пользователям, у которых balance_days > 0.
    ​6. Админ-панель (Доступ по Telegram ID)
    ​Команда /admin вызывает меню:
    ​[ Выдать подписку ] — запрос Telegram ID и количества дней.
    ​[ Общая статистика ] — количество пользоват

Наверх