Блог
Строительство и ремонт
Репетиторы
Красота
Фрилансеры
Разные специалисты
Уход за животными
Тренеры
Автоинструкторы

Разработка на PHP — удалённая работа в Москве

Дата: 2025-03-21
Детали
Регион
Москва
Занятость
дистанционно
Стоимость
договорная
Дата публикации
2025-03-21
Описание
Веб-разработка. Доработка существующего продукта. Есть бот@vtb_priz_bot для проведения розыгрышей в TG-канале. Задача: разработать админ-панель для автоматизации проведения розыгрышей. Как сейчас работает бот В БД есть таблица giveaways, в которой хранятся все розыгрыши: code (уникальный идентификатор розыгрыша, который устанавливается в метку ?start= для запуска бота) hello_text - текст в формате html, который приходит пользователям при входе в розыгрыш hello_image - путь к файлу изображения, которое приходит вместе с текстом при входе в розыгрыш hello_image_fileid - заполняется автоматически при первой отправке изображения, представляет собой ID файла в Telegram participant_text - текст, который отправляется пользователю при успешном выполнении критериев участия (добавился в список) is_enabled - статус конкурса (активен / не активен) В таблице channels хранятся каналы, подключенные к боту для розыгрышей В таблице giveaway_channels хранится связка каналов и гивов Для текущих задач достаточно будет к созданному гиву подвязывать дефолтный канал с ID №1. В будущем может понадобится интерфейс для администрирования и добавления дополнительных каналов к розыгрышу. В таблице giveaway_participants хранятся участники всех розыгрышей: giveaway_id - ID розыгрыша bot_user_id - ID пользователя is_winner - флаг выигрыша Нужно создать админку, в которой можно: Посмотреть список всех розыгрышей Добавить новый розыгрыш (прикрепить к нему картинку, текст с HTML форматированием, текст для успешного участия) Посмотреть статистику по розыгрышу (сколько участников и тд) Подвести итоги розыгрыша (сгенерировать список победителей и разослать рассылку, об этом ниже) Есть ряд стандартных текстов в боте, которые хочется редактировать в админке Помимо текстов, привязанных к конкретному гиву (стартовое сообщение и сообщение об успешном участии), есть ряд стандартных текстов, например: 'Розыгрыш завершён. Поздравляем победителей.' '🔵 Участвовать' 'Произошла ошибка. Кажется, сейчас большая нагрузка. Пожалуйста, попробуйте позже.' 'Похоже, что вы еще не подписались на наш канал. Подпишитесь, чтобы принять участие в розыгрыше! %s' '🔵 Проверить снова' 'Вы уже участвуете в этом розыгрыше. Дождитесь подведения итогов.' 'Розыгрыш не найден. Возможно он закончился.' Эти стандартные тексты раскиданы по 2 файлам: Telegram/Commands/StartCommand.php, Telegram/Commands/ParticipateCommand.php. Эти тексты хочется также вынести в админку, чтобы из отдельной страницы можно было их отредактировать. Как сейчас работает подведение итогов Для подведения итогов реализованы 2 команды artisan: php artisan giveaway:get_winners и php artisan giveaway:send_winners Подведение итогов устроено следующим образом: Вручную запускается команда get_winners, в которой указывается: ID розыгрыша, кол-во победителей. Команда в случайном порядке перемешивает участников, и набирает из них N победителей. Для выбранных победителей устанавливается пометка “is_winner = 1” Далее вручную в обязательном порядке проверяется сгенерированный список победителей - мы отсматриваем чтобы у них были логины и нормальные имена, вручную открываем их в ТГ смотрим аватарки. Если кто-то из победителей выглядит как бот, мы меняем его в ручном режиме (убираем ему is_winner = 1, запускаем повторно get_winners на недостающее число участников) После того как все победители выбраны и список согласован, мы готовим рассылку Для этого мы прописываем ее в коде команды send_winners - прописываем туда текст сообщения и картинку сообщения. Далее запускаем рассылку через консоль - рассылка уходит только тем пользователям, которые что-то выиграли. Подведение итогов в админке: К карточке конкретного розыгрыша вывести таблицу “Список победителей” Вывести кнопку “Выбрать победителей”, указывается сколько победителей выбрать, и система рандомно их выбирает. Напротив каждого победителя предусмотреть кнопку “Выбрать другого” - система рандомно заменяет именно этого победителя по клику на кнопку, других не трогает. Для списка победителей нужно выводить: id, telegram_id, telegram_username, telegram_first_name, telegram_last_name Ниже нужно вывести кнопку “Разослать сообщение по победителям”, которая ведет на страницу рассылки, где можно указать текст+изображение. Далее рассылка планируется и запускается по всем победителям. Результат задачи Админка, в которой есть ключевые разделы: Список розыгрышей, Рассылка В список розыгрышей можно добавить розыгрыш Можно редактировать уже идущий розыгрыш или вкл/выкл его Можно подвести итоги из админки, выбрать победителей, заменить конкретного победителя на другого По итоговым победителям можно разослать рассылку Также по всем пользователям в системе можно разослать рассылку —---------- Код который можно взять за основу Конкретно в этом боте у нас не реализована админ-панель вообще. Нужно будет развернуть дефолтную систему авторизации Laravel, закрыть доступ к регистрации и восстановлению пароля. В коде других приложений у нас есть реализованная система рассылки (на скрине), туда уже интегрирован html редактор с поддержкой всех тегов telegram, валидацией длины текста, загрузкой картинок. И также уже есть реализация для cron, которая из БД отправляет всех пользователей которым эта рассылка была запланирована. Мы расшарим код этого приложения, фактически рассылку можно будет перенести из него, т.е. не кодить с 0. К рассылке только нужно будет подключить поддержку отправки по конкретной группе пользователей. Также в другом приложении есть примеры дефолтных таблиц/форм для добавления редактирования элементов. Можно будет также взять их за основу и переделать под механику розыгрышей.
Похожие заказы
Разработка на Laravel
дистанционно
договорная
Веб-разработка. Доработка существующего продукта. Пожелания и особенности: Нужен PHP Laravel разработчик Бюджет: до 1500₽/час Формат: удалённо Описание задачи: Работа над образовательной онлайн-платформой. Требуется опыт в Laravel (8/9/10), работа с БД, API, админками. Нужно дорабатывать модули, оптимизировать код, подключать API, поддерживать текущую систему. Требования: Laravel от 2 года Понимание MVC, Git Ответственность и соблюдение сроков Готовность пройти небольшое тестовое задание (оплачивается) Объём работы: Долгосрочное сотрудничество. 20+ часов в неделю. Работаем по спринтам, задачи в ТЗ.
Москва
Фрилансеры
2025-05-03
Откликнуться
Разработка на Laravel
дистанционно
договорная
Веб-разработка. Доработка существующего продукта. Добрый день, в данный момент наша команда ищет Backend Laravel разработчика на интересный проект У нас есть несколько сайтов, и мы ищем человека, который будет писать чистый и качественный код для нашего бэкенда. Работа не фулл-тайм — а по запросу, на отдельные модули и доработки. Модулей и доработок хватит на несколько месяцев вперёд ДЛя связи напиши пожалуйста в http://t.me/guesseer.
Москва
Фрилансеры
2025-05-02
Откликнуться
Разработка на PHP
дистанционно
договорная
Веб-разработка. Настройка, доработка существующего продукта, Корректировка кода для корректного позиционирования и отображения баннера в различных разрешениях. Пожелания и особенности: Строки 174-201. Некорректно отображается баннер. Поднять, одинаково отображать на мобильных устройствах и ПК.
Москва
Фрилансеры
2025-04-30
Откликнуться
Разработка на PHP
дистанционно
договорная
Веб-разработка. Доработка существующего продукта, настройка.
Москва
Фрилансеры
2025-04-30
Откликнуться
Разработка на PHP
дистанционно
договорная
Веб-разработка. Настройка. Нужна небольшая помощь с настройкой сервера и подключением базы данных. Лабораторная работа совсем небольшая, буквально час работы.
Новосибирск
Фрилансеры
2025-04-29
Откликнуться
Разработка на PHP
дистанционно
договорная
Разработка приложений для ПК. Доработка существующего продукта. Есть учебный проект. Необходимо помочь дописать несколько функций.
Москва
Фрилансеры
2025-04-26
Откликнуться
Разработка на PHP
дистанционно
договорная
Веб-разработка. Доработка существующего продукта. Требуется специалист на проект.
Иваново
Фрилансеры
2025-04-22
Откликнуться