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

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

Дата: 2026-08-03
Детали
Регион
Москва
Занятость
дистанционно
Стоимость
договорная
Дата публикации
2026-08-03
Описание
Веб-разработка. Разработка с нуля, тестирование, настройка, доработка существующего продукта. Пожелания и особенности: Разработка встроенного чата для социальной платформы 1. О проекте Разрабатывается социальная платформа, в которой пользователи создают профили, публикуют контент, собирают списки и рекомендации, общаются с другими участниками и взаимодействуют со встроенным ИИ-помощником. Необходимо разработать систему личных сообщений внутри существующей веб-платформы. Речь идёт не о создании отдельного мессенджера с нуля, а о добавлении раздела «Чаты» в уже работающий продукт. 2. Цель задачи Пользователь должен иметь возможность: • открыть раздел с чатами; • увидеть список своих диалогов; • начать новый диалог с другим пользователем; • отправлять и получать текстовые сообщения; • отправлять и получать фотографии и файлы; • видеть новые и непрочитанные сообщения; • продолжать переписку после обновления страницы или повторного входа; • общаться в отдельном закреплённом чате с системным ИИ-помощником. Интерфейс должен быть простым и привычным, по логике современных мессенджеров и чатов внутри банковских приложений. 3. Основной пользовательский сценарий 1. Пользователь открывает раздел «Чаты». 2. Видит список существующих диалогов. 3. В верхней части списка постоянно отображается закреплённый системный чат платформы. 4. Пользователь выбирает существующий диалог либо нажимает кнопку «Новый чат». 5. Через поиск выбирает зарегистрированного пользователя. 6. Открывается окно переписки. 7. Пользователь отправляет сообщение, фотографию или файл. 8. Получатель видит новое сообщение и отметку о непрочитанном диалоге. 9. После открытия чата сообщение отмечается как прочитанное. 10. Вся история переписки сохраняется и остаётся доступной после повторного входа. 4. Функционал MVP 4.1. Список чатов В списке каждого диалога отображаются: • аватар пользователя; • имя; • текст последнего сообщения либо обозначение отправленного файла или фотографии; • время последнего сообщения; • индикатор непрочитанных сообщений; • сортировка диалогов по времени последнего сообщения. Системный чат платформы должен всегда находиться сверху и визуально отличаться от обычных пользовательских чатов. При получении нового сообщения соответствующий диалог должен подниматься в верхнюю часть списка, кроме закреплённого системного чата. 4.2. Новый чат В верхней части раздела должна находиться заметная кнопка «Новый чат». После нажатия пользователь: • видит строку поиска; • может найти человека по имени или username; • видит результаты с аватаром и именем пользователя; • выбирает пользователя; • переходит в новый или уже существующий диалог с ним. Нельзя создавать несколько отдельных личных диалогов между одной и той же парой пользователей. Пользователь не должен иметь возможности начать диалог с самим собой. 4.3. Окно переписки Внутри диалога необходимо реализовать: • имя и аватар собеседника; • переход в профиль собеседника; • историю сообщений; • поле ввода текста; • кнопку отправки; • отправку сообщения по Enter; • перенос строки с помощью Shift + Enter; • поддержку текста в несколько строк; • дату и время сообщений; • визуальное разделение входящих и исходящих сообщений; • автоматическую прокрутку к последнему сообщению; • загрузку более ранних сообщений при прокрутке вверх; • разделители сообщений по датам; • корректное отображение длинных сообщений; • корректное отображение ссылок в сообщениях. 4.4. Отправка фотографий Пользователь должен иметь возможность: • выбрать фотографию на устройстве; • увидеть предпросмотр перед отправкой; • отменить выбранную фотографию; • добавить текст к фотографии; • отправить фотографию; • видеть процесс загрузки; • повторить отправку при ошибке. Фотографии должны отображаться непосредственно внутри переписки. По нажатию фотография должна открываться в увеличенном виде. Необходимо предусмотреть ограничения по допустимым форматам и максимальному размеру изображения. Допустимые форматы и ограничения должны быть согласованы до начала разработки. 4.5. Отправка файлов Пользователь должен иметь возможность: • выбрать файл на устройстве; • увидеть название, формат и размер файла до отправки; • отменить выбранный файл; • отправить файл; • видеть процесс загрузки; • повторить отправку при ошибке; • открыть или скачать полученный файл. В переписке должны отображаться: • название файла; • формат; • размер; • статус загрузки; • кнопка открытия или скачивания. Необходимо предусмотреть ограничения по допустимым форматам и максимальному размеру файла. Исполнитель должен предложить решение для хранения фотографий и файлов, а также описать возможные расходы на хранение при росте количества пользователей. 4.6. Статусы сообщений Необходимо реализовать следующие состояния: • сообщение отправляется; • сообщение успешно отправлено; • сообщение доставлено; • сообщение прочитано получателем; • ошибка отправки. При ошибке пользователь должен иметь возможность повторить отправку сообщения, фотографии или файла. Сообщение, которое находится в процессе отправки, должно визуально отличаться от успешно отправленного. 4.7. Непрочитанные сообщения Необходимо реализовать: • счётчик непрочитанных сообщений рядом с каждым диалогом; • общий индикатор новых сообщений у раздела «Чаты»; • автоматическую отметку сообщений как прочитанных после открытия диалога; • обновление списка чатов при появлении нового сообщения; • визуальное обозначение непрочитанных диалогов; • сохранение корректного количества непрочитанных сообщений после обновления страницы и повторного входа. 4.8. Системный чат с ИИ-помощником У каждого пользователя автоматически создаётся системный чат с ИИ-помощником платформы. Он должен: • всегда отображаться в верхней части списка; • иметь отдельный системный аватар и название; • визуально отличаться от обычных пользовательских чатов; • внешне работать как обычный диалог; • принимать текстовые сообщения пользователя; • получать ответы от существующего API платформы или ИИ-сервиса; • сохранять историю общения. Саму логику ИИ разрабатывать не требуется. От исполнителя требуется подготовить чат к подключению предоставленного API и реализовать отображение ответов внутри переписки. 4.9. Обновление сообщений в реальном времени Новые сообщения должны появляться без ручного обновления страницы. Необходимо обеспечить: • получение новых сообщений в открытом диалоге; • обновление текста последнего сообщения в списке чатов; • обновление времени последнего сообщения; • изменение количества непрочитанных сообщений; • обновление статусов отправки, доставки и прочтения. Исполнитель должен предложить подходящий способ реализации с учётом текущей архитектуры проекта. Решение должно предусматривать дальнейший рост количества пользователей и диалогов. 5. Уведомления На первом этапе необходимо реализовать уведомления внутри платформы: • индикатор новых сообщений у раздела «Чаты»; • счётчик непрочитанных сообщений; • визуальное выделение диалога с новым сообщением. Системные push-уведомления и уведомления по электронной почте в первоначальный объём работ не входят. 6. Адаптивность Чат должен корректно работать: • на компьютере; • на планшете; • на мобильном экране; • внутри мобильного браузера. На компьютере интерфейс может состоять из двух колонок: • список чатов; • открытый диалог. На мобильном устройстве список чатов и конкретный диалог должны открываться как отдельные экраны. Необходимо предусмотреть: • удобную кнопку возврата к списку чатов; • корректную работу экранной клавиатуры; • сохранение доступа к полю ввода при открытой клавиатуре; • удобный выбор фотографий и файлов; • корректное отображение длинных сообщений; • корректное открытие фотографий и файлов. 7. Состояния интерфейса Необходимо предусмотреть следующие состояния: • у пользователя ещё нет диалогов; • поиск пользователей не дал результатов; • переписка пока пустая; • сообщения загружаются; • загружается история предыдущих сообщений; • произошла ошибка загрузки; • пропало интернет-соединение; • соединение восстановлено; • собеседник удалён; • собеседник заблокирован или недоступен; • сообщение не удалось отправить; • фотография не загрузилась; • файл не загрузился; • выбран неподдерживаемый формат; • файл превышает допустимый размер; • большое количество непрочитанных сообщений; • история сообщений закончилась; • ИИ-помощник временно недоступен. Для ошибок должны быть предусмотрены понятные сообщения и кнопка повторного действия там, где это возможно. 8. Безопасность и доступ Необходимо обеспечить: • доступ к диалогу только его участникам; • проверку прав пользователя при загрузке истории сообщений; • защиту загрузки файлов от неподдерживаемых и потенциально опасных форматов; • невозможность получить доступ к чужой переписке через изменение адреса страницы или параметров запроса; • безопасное хранение ссылок на фотографии и файлы; • использование существующей системы авторизации; • корректную обработку удалённых и заблокированных пользователей. 9. Что не входит в MVP На первом этапе не требуется: • групповые чаты; • каналы; • аудио- и видеозвонки; • голосовые сообщения; • видеосообщения; • исчезающие сообщения; • реакции на сообщения; • пересылка сообщений; • ответы на отдельные сообщения; • редактирование сообщений; • удаление сообщений; • поиск по истории переписки; • закрепление пользовательских диалогов; • архив чатов; • блокировка пользователей из интерфейса чата; • индикатор набора текста; • статус нахождения пользователя онлайн; • сложная система статусов присутствия; • push-уведомления; • уведомления по электронной почте; • полноценное сквозное шифрование; • отдельное мобильное приложение. Перечисленные функции не должны входить в первоначальную оценку без отдельного согласования. 10. Требования к исполнителю Исполнитель должен: • изучить существующий проект; • встроить чат в текущую архитектуру; • не создавать отдельное приложение; • использовать существующую авторизацию; • использовать существующие профили пользователей; • не переделывать без необходимости уже работающие разделы; • сохранить текущий визуальный стиль платформы; • написать понятный и поддерживаемый код; • разместить результат в существующем репозитории; • описать порядок запуска и подключения; • предоставить список добавленных компонентов и изменений; • устранить обнаруженные ошибки перед сдачей; • предоставить краткую документацию для дальнейшей поддержки; • предупредить о необходимых сторонних сервисах и возможных регулярных расходах. 11. Этапы работы Предлагаемый порядок работы: 1. Изучение существующего проекта. 2. Оценка текущей архитектуры и способов интеграции. 3. Согласование пользовательских сценариев и экранов. 4. Разработка списка диалогов. 5. Разработка поиска пользователей и создания нового чата. 6. Разработка личной переписки. 7. Реализация отправки фотографий. 8. Реализация отправки файлов. 9. Реализация хранения фотографий и файлов. 10. Реализация непрочитанных сообщений. 11. Реализация статусов сообщений. 12. Реализация получения сообщений без обновления страницы. 13. Подключение системного чата с ИИ-помощником. 14. Адаптация под мобильные устройства. 15. Тестирование. 16. Размещение на тестовом сервере. 17. Исправление обнаруженных ошибок. 18. Перенос в основную версию проекта. 19. Передача документации. 12. Требования к тестированию Перед сдачей необходимо проверить: • создание нового диалога; • невозможность создания дублирующего диалога; • отправку и получение текстовых сообщений; • отправку и получение фотографий; • отправку и получение файлов; • повторную отправку при ошибке; • статусы доставки и прочтения; • счётчики непрочитанных сообщений; • сохранение истории после выхода и повторного входа; • работу при медленном интернет-соединении; • восстановление после временной потери соединения; • загрузку длинной истории сообщений; • работу на компьютере; • работу на мобильном устройстве; • работу в актуальных версиях основных браузеров; • защиту от доступа к чужим диалогам; • работу системного чата с тестовым API. 13. Результат работы Готовый результат должен позволять двум зарегистрированным пользователям: • найти друг друга; • начать личную переписку; • отправлять и получать текстовые сообщения; • отправлять и получать фотографии; • отправлять и получать файлы; • получать сообщения без обновления страницы; • видеть статусы сообщений; • видеть непрочитанные сообщения; • вернуться к истории переписки после повторного входа. Также каждый пользователь должен иметь доступ к закреплённому системному чату с ИИ-помощником. Чат должен быть полностью встроен в существующую платформу, работать на компьютере и мобильных устройствах и соответствовать текущему стилю интерфейса. 14. Что указать в отклике В отклике необходимо указать: 1. Опыт разработки чатов или систем личных сообщений. 2. Примеры аналогичных работ. 3. Предлагаемый технический подход. 4. Способ получения сообщений без обновления страницы. 5. Способ хранения фотографий и файлов. 6. Какие изменения потребуются в существующем проекте. 7. Стоимость разработки всего MVP. 8. Разбивку стоимости по основным этапам. 9. Отдельную стоимость функций, не входящих в MVP. 10. Предполагаемый срок выполнения. 11. Какие риски могут повлиять на стоимость и сроки. 12. Что потребуется от нашей команды. 13. Как будет организовано тестирование. 14. Какой срок гарантии предоставляется на исправление ошибок после сдачи. 15. Готовность продолжить поддержку и развитие раздела после запуска. Отклики без оценки структуры задачи и с формальным сообщением «готов выполнить» рассматриваться не будут. Перед окончательной оценкой исполнителю будет предоставлен доступ к коду, тестовой версии и текущему интерфейсу платформы Рассмотрим как долгосрочное сотрудничество, так и проектную работу. Готовы купить уже готовое решение и адаптировать под наши задачи.
Похожие заказы

Доработка сайта

дистанционно
договорная
Уже есть: готовый сайт, фирменный стиль, логотип, фотографии, картинки, дизайн, текстовое наполнение. Интернет-магазин. Платформа: Wix. Функционал сайта: надо поправить некоторые детали на сайте:. Контент есть. То что необходимо поправить: 1. Главная страница: сделать слайдер меньше по высоте (уже) чтобы как открываешь внизу помещаалсь надпись про бренд (которая там есть ) 2. Главная страница — слайдер: На первом фото (с цветком) разместить по центру или немного выше центра: JEWELRY FOR WILD SOULS Ниже, более мелким шрифтом: BEAUTY IN THE RAW На втором фото: NEW COLLECTION — основной фирменный шрифт. SOON — второй контрастный шрифт: рукописный / italic / более декоративный. 3. Меню: исправить пункт (поправить) он там вниз слез (сделать на ровне с другими изделиями) «Кафф» и добавить новый раздел One-of-a-Kind для лимитированных и уникальных изделий. Добавить соответствующие названия в русской и английской версиях сайта. Товары в раздел добавлю сама. 4. Цвета сайта: заменить красный акцентный цвет на зелёный во всех элементах сайта, где еще его нет 5. Типографика: скорректировать размеры шрифтов/типографики на сайте. 6. Главная страница — отзывы: добавить отдельный адаптивный блок с отзывами для desktop, tablet и mobile. Планируется примерно 3–4 отзыва: фотография клиента + основной текст + дополнительный текст. Выбрать наиболее подходящий дизайн блока. Название блока в английской версии: UNIL IN THE WILD UNIL — строгим фирменным шрифтом, IN THE WILD — вторым, более живым/рукописным. Я бы хотела чтобы была инфа сверху город и имя. далее название изделия и текст небольшйо блок его слова и картинка человека с украшением В русской версии: UNIL В ЖИЗНИ 7. Блок «О бренде»: вернуть в английскую версию главной страницы блок с кнопкой, ведущей на страницу About / «О бренде». Добавить/вернуть этот же блок в русской версии. Проверить отображение на компьютере, планшете и мобильной версии. 8. Каталог: сделать загрузку/отображение всего каталога при нажатии на кнопку View All. 9. Cookies: заменить текущий вариант уведомления о cookies на более компактный pop-up, как в примере выше. После нажатия Accept / «Принять» окно должно закрываться и больше не оставлять на экране дополнительный виджет. 10. Нужен еще один раздел справа . На англ SHOOTINGS добавить три окна для фото в разнобой Looking for unique jewelry to complete your look? UNIL jewelry is available for fashion, editorial, and creative shoots. We are open to participating in different projects and collaborating with photographers, stylists, designers, artists, and creative teams. If you’re interested in working together, we’d love to hear from you. Write to us: [Email скрыт] We are open to collaborations. И рус Фотосъёмки Хотите дополнить свой образ украшениями UNIL? Мы открыты для участия в съёмках и творческих проектах. Мы с удовольствием предоставим наши украшения для фотосессий, съёмок, fashion- и арт-проектов и будем рады знакомиться с талантливыми фотографами, стилистами, дизайнерами и другими творческими командами. Если вам интересно сотрудничество — напишите нам на [Email скрыт]
Москва Фрилансеры

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

дистанционно
договорная
Задачи чат-бота: информирование клиентов, интерактивное меню или каталог, ответы на типовые вопросы, приём текстовых заказов, финансовые операции. Продукт: Образовательные курсы (колледж). Техзадания нет. Есть готовый код Telegram-бота на Python (aiogram). Нужно развернуть его на VPS (Ubuntu 24.04). Что сделать: Установить Python, создать виртуальное окружение, установить библиотеки: aiogram, openai. Загрузить файлы bot.py и bot.db на сервер. Настроить автозапуск через systemd, чтобы бот работал 24/7 и сам перезапускался при сбоях. Настроить прокси Cloudflare Worker для обхода блокировки Telegram. Адрес Worker уже есть: https://icy-bird-04c0.donidzhomidava2212.workers.dev Доступ к серверу и код предоставлю.
Москва Фрилансеры

Создание Google-таблиц

дистанционно
договорная
Автоматизация расчётов, разработка калькуляторов. Расчёты: логистические, Расчёт стоимости автомобиля с учетом логистики, таможни и тд. Техническое задание есть. Пожелания и особенности: Настройка нескольких калькуляторов для расчета стоимости авто с учетом доставки, таможни, курса $,€,?.
Санкт-Петербург Фрилансеры

Разработка мобильных игр

дистанционно
договорная
Сделать такую же игру прин секан с компьютера на телефон. Игра: одиночная, многопользовательская, С ботами. Жанр: гонки. Графика: 3D.
Москва Фрилансеры

Разработка компьютерных игр

дистанционно
договорная
Выполнить художественный дизайн. Игра: массовая онлайн. Жанр: RPG. Платформа: roblox. Графика: 3D.
Москва Фрилансеры

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

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

Создание сайтов

дистанционно
договорная
Сайт портфолио. Платформа: Wfolio. Функционал сайта: страницы ,портфолио с категориями. Контента нет. Пожелания и особенности: Ищем специалиста для разработки сайта по организации фотосессий разных форматов: семейных, школьных, детских, сезонных и коммерческих. Нужный функционал: страницы направлений, портфолио с категориями, описание пакетов и цен, форма заявки с вопросами под тип съёмки, возможность бронирования времени для фотодней и переход в Telegram. Важно, чтобы сайт хорошо работал с телефона, а мы могли самостоятельно обновлять фотографии, тексты, цены и свободные даты. На первом этапе онлайн-оплата не требуются. Будем рады обсудить структуру сайта, сроки и стоимость разработки. Я бы запускала сайт в два этапа. Сначала: главная, страницы направлений, портфолио, пакеты, FAQ, формы заявок и быстрый переход в Telegram. Затем: календарь фотодней, личный кабинет для выбора фото и согласования альбомов. Главный принцип для технического задания: сайт должен не просто показывать, как красиво вы снимаете, а объяснять, как вы организуете съёмку под ключ — с командой, режиссёром-постановщиком, подбором формата, подготовкой и готовым результатом. Что должно быть на сайте 1. Главная страница. Коротко: «Организуем фотосессии под ключ в Москве и Московской области», сильные фотографии, основные направления и заметная кнопка «Подобрать съёмку». 2. Отдельные страницы направлений. Школы и детские сады, выпускные альбомы, семейные и детские съёмки, беременность, сезонные фотодни, контент для брендов и маркетплейсов. У каждого направления своя аудитория, вопросы и примеры работ — не стоит смешивать всё в одну длинную ленту. 3. Портфолио с фильтрами. Клиент выбирает формат и видит именно подходящие серии: например, «осенняя съёмка класса», «виньетки», «семейная съёмка в студии». Для альбомов полезны не только красивые обложки, но и фото разворотов и короткий видеообзор. 4. Пакеты и понятный состав услуги. Для каждого формата — что входит в стоимость, сколько длится съёмка, сколько фотографий или разворотов получает клиент, как проходит выбор кадров, какие есть дополнительные опции. Там, где цена зависит от числа детей, дней или задач, лучше дать ориентир и кнопку «Рассчитать стоимость». 5. Бриф-заявка. Вместо общего поля «Ваше сообщение» — несколько вопросов по выбранному направлению. Для школы или сада: число детей, возраст, желаемые даты, место съёмки, формат альбомов и контакт родительского комитета. Для личной съёмки: состав участников, дата, локация и пожелания по образам. Заявка должна попадать к вам вместе с ответами, чтобы вы могли сразу готовить предложение. 6. Бронирование дат. Для коротких фотодней на 15, 30 и 60 минут удобен календарь со свободными слотами. Для школьных, семейных и коммерческих проектов я бы оставила запрос даты, а не мгновенное подтверждение: там сначала нужно согласовать команду, локацию и объём работы. В сервисах для фотографов календарь, анкеты, напоминания и оплата действительно обычно объединяются в один процесс бронирования.[simplybook +1] Отдельно для альбомов Это может стать одним из самых сильных разделов сайта. Сделайте наглядное сравнение «базовый — стандарт — премиум»: размер, число разворотов, персонализация, что входит в съёмку и обработку. Добавьте возможность запросить примеры дизайнов и предварительный расчёт на конкретное количество детей. На следующем этапе можно предусмотреть закрытый кабинет для родителей: выбор фотографий, просмотр индивидуального макета, комментарии к правкам и статус заказа. Но для запуска сайта это необязательно — сначала можно организовать согласование через менеджера. Что важно предусмотреть внутри • Управление заявками: источник обращения, направление, дата, статус переговоров, отправленное предложение и следующий шаг. • Редактирование без разработчика: цены, пакеты, свободные даты, сезонные акции, фотографии и ответы на частые вопросы. • Удобство с телефона: многие клиенты перейдут из Telegram или сообщения в родительском чате, поэтому заявку и портфолио должно быть легко просматривать на мобильном экране.
Москва Фрилансеры