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

Программисты — удалённая работа в Москве

Дата: 2025-09-04
Детали
Регион
Москва
Занятость
дистанционно
Стоимость
договорная
Дата публикации
2025-09-04
Описание
Веб-разработка. Разработка с нуля. # 1. Цель проекта Создать автономное (без внешних источников, кроме API Wildberries, оплаты через ЮKassa и опциональной нейросети GigaChat) расширение для Chrome и Яндекс.Браузера, которое: * собирает и визуализирует статистику по рекламным кампаниям WB; * показывает выдачу (органическую и рекламную) по запросам/товарам; * отображает ключевые метрики и заказы из «Джема» (если функция включена); * работает поверх интерфейса кабинета WB в виде настраиваемого overlay; * имеет модуль автоминусации и автобиддера (ручной и нейро-режим); * поддерживает оплату подписки через ЮKassa; * устанавливается и настраивается «под ключ». # 2. Целевая среда и совместимость * Chromium-based: Google Chrome (актуальная LTS-ветка), Яндекс.Браузер (актуальная версия). * Manifest V3 обязательный. * ОС: Windows 10+, macOS 12+, Linux (актуальные дистрибутивы). * Разрешения расширения: activeTab, scripting, storage, alarms, tabs, notifications, offscreen, declarativeNetRequest (минимально необходимые), доступ к доменам WB кабинета и API WB (список доменов будет уточнён). * Локализация: ru-RU (возможность добавить en). # 3. Архитектура ## 3.1. Клиент расширения * Background Service Worker (MV3): планировщик задач, веб-запросы к WB API/бэкенду (если требуется), биллинг-статусы, обновления. * Content scripts: внедрение overlay и сбор данных из DOM на страницах кабинета. * Options page (панель настроек) и Popup (быстрые действия). * UI-стек: TypeScript + React (или Preact) + Vite, TailwindCSS. Графики: Recharts или Apache ECharts. * Локальное хранилище: chrome.storage.local + IndexedDB (кэш метрик и снимков выдачи). * Межкомпонентная связь: chrome.runtime messaging. ## 3.2. Бэкенд (минимальный, при необходимости) * Назначение: биллинг-вебхуки ЮKassa, управление лицензиями/подписками, прокси к GigaChat (если нельзя вызывать напрямую из расширения), выпуск ключей/токенов. * Технологии: Node.js (NestJS/Express), PostgreSQL, Redis (кэш), Docker. * Безопасность: HTTPS, JWT для сессий устройств, rate limiting, CORS (на домены WB запрещено, кроме контент-скриптов). * Возможный режим «без сервера»: если ЮKassa и GigaChat допускают прямую работу из клиента — всё равно нужен end-point для вебхуков оплаты. # 4. Доступы и безопасность * Ключи WB API вводит пользователь вручную в настройках. Хранение локально, зашифровано (WebCrypto AES-GCM, ключ derivation через PBKDF2 на основе локального PIN пользователя). * Токены GigaChat (если требуются) — через бэкенд-прокси или локально с теми же принципами. * Доступ к API WB — строго по документированным эндпоинтам и лимитам; экспоненциальный backoff и очереди запросов. * Логи только анонимные и агрегированные (опционально выключаемые пользователем). Данные рекламных кампаний не отправлять на внешний сервер без явного согласия. * Соответствие GDPR (особенно для EU пользователей): политика конфиденциальности, механизм удаления данных, экспорт. # 5. Основные функции ## 5.1. Overlay-аналитика (основной UI) * Отображение поверх страниц кабинета WB (инъекция overlay-контейнера). * Перетаскиваемые / фиксируемые панели, кнопка «свернуть/развернуть», запоминание макета. * Виджеты: * Сводка аккаунта: расходы, показы, клики, CTR, CPC, CPA, CR, конверсии, ROAS/ROMI, выручка. * Таблицы по кампаниям/группам/ключам: сортировка, фильтры, поиск, пагинация. * Графики за период: расходы, показы, клики, заказы, выручка, ROAS. * «Заказы из Джема»: число и список заказов, атрибуция к кампаниям/ключам (при включенной функции и наличии данных). * Рекламные позиции и органика по запросам (см. 5.2). * Экспорт: CSV/XLSX/PNG (скрин-графиков). * Быстрые действия: «минус-слова», «повысить/понизить ставки», «пауза/возобновить кампанию». ## 5.2. Мониторинг выдачи (органика и реклама) * По выбранным ключам/артикулам — получение текущих рекламных позиций и органических мест в выдаче. * Снимок выдачи с метаданными: запрос, дата/время, позиция, тип (organic/ads), страница, видимость. * История изменений позиции во времени (мини-спарклайн в таблице). * Расписание автосборов (например, каждые N часов) с ограничением частоты, чтобы не нарушать правила WB. ## 5.3. Метрики и отчёты * Дашборд по периодам: «Сегодня», «Вчера», «7 дней», «30 дней», «Произвольный». * Разрезы: кампании → группы → ключевые фразы → места размещения (если применимо). * Атрибуция: модель по умолчанию «последний клик» (настраиваемо, если данные позволяют). * Преднастроенные отчёты: «Эффективность кампаний», «Срез по ключам», «Срез по поисковым запросам», «Нецелевые запросы», «Отчёт по Джему». * Сохранённые отчёты и быстрые пресеты пользователя. Полное описание ТЗ в файле прикрепленном к заданию.
Похожие заказы

Программисты

дистанционно
договорная
Разработка приложений для ПК. Разработка с нуля. Нужно разработать приложение для ПК на low-code платформе Green Data (ищу человека с опытом работы с данной платформой). У меня есть бизнес-процессы в нотации BPMN 2.0, ER-модель и реляционная модель, в соответствии с которыми нужно сделать приложение. В рамках работы нужно будет создать объектную модель, создать группы доступа и пользователей и настроить их права, создать визуалы (экранные формы для разных пользователей), настроить бизнес-процессы и алгоритмы в соответствии с заданными схемами бизнес-процесса и построить дашборды. Предметная область-частный приют. Очень желательны опыт в проектировании ИС и ОБЯЗАТЕЛЕН опыт работы с платформой Green Data (нужно знать её специфику). К вечеру 07.05 должно быть сделано хотя бы 30-40% работы. Все детали в личном сообщении.
Москва Фрилансеры

Разработка ботов Telegram

дистанционно
договорная
Задачи чат-бота: интерактивное меню или каталог. Продукт: Школьная и олимпиадная физика. Техзадание есть. Бот будет содержать в себе базу задач по физике, разбитые по темам (база задач есть). Ребёнок выбирает в боте задачу, ему отправляется условие, и он может совершить одно из трёх действий - написать ответ на задачу, нажать "Пришли решение задачи" или "Дай подсказку". В первом случае бот либо принимает задачу и заносит в базу данных задачу как решённую, либо выводит сообщение, что задача решена неверно. В последних двух случаях ИИ расписывает соответствующий запрос насколько может, опираясь на ответ. Отдельно обучать нейронку не нужно, просто чтобы соответствующий запрос ушёл, и пришёл ответ как при обычном взаимодействии с тем же DeepSeek, например.
Москва Фрилансеры

Разработка ботов Telegram

дистанционно
договорная
Задачи чат-бота: ответы на типовые вопросы. Продукт: Автосервис хочет искать сотрудников через телеграм рекламу, нужно принимать простые анкеты - имя телефон опыт. Техзадания нет.
Пенза Фрилансеры

Настройка ботов

дистанционно
договорная
Задачи чат-бота: информирование клиентов. Платформа: Telegram. Продукт: Биохакинг. Техзадание есть.
Москва Фрилансеры

Разработка ИИ

дистанционно
договорная
Пожелания и особенности: Важно чтобы был опыт в проектировании.
Москва Фрилансеры

Программирование в Excel

дистанционно
договорная
Анализ и работа с базами данных. Техническое задание есть.
Москва Фрилансеры

Программисты

дистанционно
договорная
Программирование микроконтроллеров. Микроконтроллер: ESP32 DevKit V1. Функции и задача устройства: Компонент Роль ESP32 DevKit V1- «Мозги» системы TCS34725- Высокоточный датчик цвета с ИК-фильтром PCA9685- Модуль для управления 16 помпами (через него проще) L293D или мосфеты -Силовые ключи для включения помп Экран 0.96" OLED- Для вывода текущего значения на корпус Использование ESP32 — это лучшее решение для самодельного тестера. В отличие от Arduino, у него «на борту» уже есть Wi-Fi и Bluetooth, что позволяет отправлять результаты замеров на телефон или в системы умного дома (Home Assistant, Blynk).Почему ESP32 идеален для этой задачи?Веб-интерфейс: Вы можете открыть страницу тестера в браузере и нажать кнопку «Сделать замер сейчас».Графики: История нитратов будет записываться в облако или на карту памяти.Мощность: Легко обрабатывает данные с датчиков цвета и управляет сразу 4–6 помпами. Ниже приведена логика работы («прошивки»), которую должен реализовать программист:1. Подготовка (Промывка)Действие: Включается основная помпа забора воды.Логика: Прокачивается объем воды, в 3-5 раз превышающий объем измерительной кюветы (чтобы удалить остатки старого теста).Завершение: Помпа слива полностью опустошает кювету.2. Дозирование пробыДействие: Помпа забора воды включается на строго определенное время (откалиброванное под 5 мл или 10 мл).Нюанс: Для ESP32 лучше использовать ШИМ (PWM), чтобы помпа стартовала плавно и объем всегда был одинаковым.3. Внесение реагентовРеагент №1: Включается малая перистальтическая помпа. Дозируется нужное количество (например, 4 капли = 2 секунды работы).Перемешивание: Включается магнитная мешалка на 10 секунд.Реагент №2: Если тест двухкомпонентный (как Salifert), добавляется второй реагент.Важно: Если второй реагент — порошок, DIY-системы обычно заменяют его на жидкий аналог или используют самодельный шнековый дозатор.4. Фаза реакции (Таймер)Действие: ESP32 уходит в режим ожидания на 5–10 минут (зависит от бренда теста).Индикация: В приложении (Blynk или веб-интерфейс) отображается обратный отсчет. На этом этапе важно выключить светодиод датчика цвета, чтобы он не «засвечивал» раствор раньше времени и не нагревал его.5. Анализ цвета (Color Sensing)Действие: Включается белый светодиод на датчике TCS34725.Чтение данных: ESP32 считывает значения каналов R (Red), G (Green), B (Blue) и C (Clear/Lux).Математика: Система вычисляет отношение каналов (например, для розово-красных нитратов критично падение Зеленого (G) и Синего (B) относительно Красного).Конвертация: Значение RGB сопоставляется с таблицей калибровки (которая хранится в памяти ESP32 в формате JSON или array).6. Передача данных и ОчисткаWi-Fi: Результат отправляется на сервер или в Telegram-бот.Финал: Кювета промывается 3-кратным объемом чистой воды. Помпы реагентов делают короткий «реверс» (если позволяют), чтобы капля на конце трубки не засохла.Пример калибровочной таблицы в коде:cppif (greenValue > 200) nitrate = 0; else if (greenValue <= 200 && greenValue > 150) nitrate = 10; else if (greenValue <= 150 && greenValue > 100) nitrate = 25; else nitrate = 50; Используйте код с осторожностью.Основные «грабли» DIY-сборки:Пузырьки воздуха: Если в трубку попал воздух, доза реагента будет неверной. Решается установкой датчика уровня воды (оптического) в кювете.Засветка: Кювета должна быть в абсолютно черном корпусе. Даже свет от светодиода самой ESP32 может сбить замер.Окрашивание пластика: Трубки и кювета со временем мутнеют от химии. В алгоритм полезно добавить функцию «калибровки по чистой воде» перед каждым тестом (замер "нуля"). Обсуждаем по телефону.
Москва Фрилансеры