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

Разработка веб-приложений — удалённая работа в Москве

Дата: 2025-04-17
Детали
Регион
Москва
Занятость
дистанционно
Стоимость
договорная
Дата публикации
2025-04-17
Описание
Разработка с нуля. Устройства для масштабирования: смартфоны, планшеты, Компьютеры. Цель проекта: Создать веб-платформу, позволяющую менеджерам автоматически формировать подборки презентаций из загруженных файлов (PowerPoint, PDF), осуществлять их фильтрацию по параметрам (наименование, группа, цвет, размер, материал и т.п.), генерировать итоговый PDF-файл с коллекцией слайдов, а также обеспечить возможность масштабирования проекта путём реализации отдельной ветки – медиатеки для хранения и обработки мультимедийного контента. Обоснование: Платформа должна заменить ручной процесс формирования подборок, сократить время работы менеджеров, обеспечить единообразный дизайн, интегрироваться с CRM (amo) и быть легко масштабируемой для будущего расширения функционала. 2. Общая архитектура системы 2.1. Веб-интерфейс • Пользовательская часть (Frontend): o Интерфейс для менеджеров (авторизованных пользователей) с формой создания коллекций, фильтрами и просмотром слайдов (галерея миниатюр). o Страница презентаций для загрузки файлов с добавлением метаданных (название, группа, фильтры: цвет, размер, материал). o Отдельный раздел для медиатеки (планируется как вторая ветка проекта). • Административная панель: o Интеграция со стандартной админкой Django для управления пользователями, загрузками, настройками системы. o Возможность отзыва прав доступа, администрирование ролей (администратор, менеджер). 2.2. Серверная логика (Backend) • Язык и фреймворк: Python, Django. • База данных: MySQL (с возможностью масштабирования, резервного копирования и репликации). • Обработка файлов: o Загрузка презентаций (форматы: PPT/PPTX, PDF). o Разбиение PDF на отдельные слайды с использованием PyMuPDF/pdf2image. o Генерация PDF из выбранных слайдов через ReportLab или wkhtmltopdf (с возможностью сжатия изображений и оптимизации страниц). 2.3. Интеграция с внешними сервисами • CRM (amo): o API-интеграция для передачи данных о созданных подборках или презентациях. • Медиа-сервисы: o Возможное хранение/обработка медиафайлов (вторая ветка медиатеки) с использованием внешних CDN или облачных хранилищ (AWS S3, Google Cloud Storage). 2.4. Статические файлы и шаблоны • Файловая структура: o Шаблоны (HTML) находятся в папке templates/, статические файлы (CSS, JS, изображения, шрифты) – в static/. o Использование {% load static %} в шаблонах для корректного подключения статики. 3. Функциональные требования 3.1. Модели данных и база данных • Модель Product (Товар/Слайд): o Поля:  name – название  description – описание  color  material  size  price  image – изображение (ImageField)  created_at – дата создания • Модель Presentation (Презентация): o Поля:  title – название презентации  file – файл презентации (FileField)  group – группа/категория  Другие метаданные (цвет, размер, материал, если необходимо) • Возможность расширения моделей для добавления новых фильтров и данных для медиатеки. 3.2. Загрузка и обработка файлов • Форма загрузки презентаций с возможностью добавления метаданных. • Обработка загруженных файлов: o Если файл PDF – разбивка на отдельные слайды. o Если файл PowerPoint – преобразование в PDF (если необходимо). • Хранение файлов в структурированной файловой системе на сервере или в облаке (с возможностью масштабирования). 3.3. Пользовательский интерфейс для формирования коллекций • Страница для ввода названия коллекции. • Фильтры по параметрам: группа, цвет, размер, материал. • Отображение результатов в виде галереи (миниатюры). • Механизм выбора слайдов для создания коллекции (с возможностью сортировки и предпросмотра). 3.4. Генерация PDF • Сбор выбранных слайдов. • Добавление титульной страницы с названием коллекции, датой, логотипом. • Генерация итогового PDF с использованием ReportLab или wkhtmltopdf. • Оптимизация итогового файла (сжатие изображений, корректное оформление страниц). 3.5. Система аутентификации и управления доступом • Регистрация, вход, восстановление пароля для пользователей. • Реализация ролей: o Администратор (управление загрузками, пользователями, настройками) o Менеджер (формирование подборок) • Возможность деактивации/отзыва прав доступа. 3.6. Масштабируемость и вторая ветка – медиатека • Проект должен поддерживать добавление новой функциональности: o Медиатека для хранения и обработки видео, аудио и изображений. o Разработка API для доступа к медиабиблиотеке. • Модульная архитектура, позволяющая добавлять новые приложения без влияния на основной функционал. 4. Нефункциональные требования 4.1. Безопасность • Защищённое соединение (SSL). • Защита от CSRF, XSS. • Контроль доступа на основе ролей. • Хранение паролей в зашифрованном виде (использование стандартных инструментов Django). 4.2. Производительность и масштабируемость • Использование MySQL с настройками репликации и бэкапами для продакшн-среды. • Кэширование статических и динамических данных (Redis/Memcached). • Возможность горизонтального масштабирования при увеличении нагрузки. 4.3. Логирование и мониторинг • Реализация системы логирования (с использованием стандартного logging в Django). • Мониторинг состояния системы, ошибок и производительности. 4.4. Тестирование • Написание юнит-тестов для ключевых компонентов. • Функциональное тестирование интерфейсов. • Нагрузочное тестирование для проверки масштабируемости. 5. Технологический стек • Язык программирования: Python 3.9+ • Фреймворк: Django 3.2+ • База данных: MySQL • Библиотеки для обработки PDF: PyMuPDF, pdf2image, ReportLab или pdfkit/wkhtmltopdf • Интеграция с amoCRM: использование API amoCRM • Система контроля версий: Git • Сервер статики: (при продакшене) Nginx или Apache • Средства тестирования: PyTest или встроенный тестовый фреймворк Django 7. Дополнительные требования и масштабируемость • Модульность: Код должен быть организован в виде отдельных приложений, чтобы можно было легко добавить новый функционал (например, модуль медиатеки). • Документация: Каждый модуль должен иметь подробное описание, инструкции по развёртыванию и поддержке. • Интеграция с внешними сервисами: Возможность легко интегрироваться с amoCRM через REST API. • Резервное копирование: Разработать процедуры резервного копирования базы данных и файлов загрузок. • Мониторинг и логирование: Внедрить систему мониторинга для отслеживания ошибок и производительности (например, через Sentry).
Похожие заказы
Разработка на Python
дистанционно
договорная
Разработка чат-ботов. Задачи чат-бота: приём текстовых заказов, интерактивное меню или каталог, информирование клиентов, финансовые операции. Платформа: Telegram, Discord. Продукт: Albion online. Техзадания нет. Я хочу создать бота в дискорде Который полностью синхронизирован с телеграм Функционал( кратко ) Синхронизация с аккаунтом Альбион онлайн Синхронизация дискорд и телеграм Механики игрового рынка в дискорде Синхронизация между серверами( везде куду приглашен общаяя база данных) Создание тикетов в дискорд Назначение ролей Статистика и рейтинг Система автоматического подсчёта И т.д Подробнее могу рассказать лично.
Москва
Фрилансеры
2025-04-19
Откликнуться
Разработка ботов Telegram
дистанционно
договорная
Задачи чат-бота: финансовые операции. Продукт: покупка токена. Техзадание есть. Пожелания и особенности: Всем привет! разработал бота для покупки токена компании! автоматически все происходит сбор данных и отправка токена на кошелек необходилмо протестировать бота. и вынести экспертное мнение что нужно по минималке доработать, чтобы бот можно было запустить в работу. заданеи простое но нужен реальный эксперт кто занимается ботами. Необходимо полностью просмотреть моего Юта, в таблице указать что не так и прям по максимуму расписать что нужно доделать, что мы упустили И так далее. Пропишите максимально много правок, что нужно сделать.@open_grace_token_staging_bot.
Москва
Фрилансеры
2025-04-19
Откликнуться
Настройка 1С
договорная
Настроить: обмен данными, отчёты 1С, интерфейс, обновление 1С, доступ пользователей, печатные формы, сервер 1С, первоначальная базовая настройка, обучение персонала. Конфигурация: 1С: Зарплата и управление персоналом. Версия платформы: 8.3. Задача: Нужно помочь разобраться с ошибкой.
Москва
Фрилансеры
2025-04-19
Откликнуться
Обмен данными 1С
дистанционно
договорная
Обмен данными: двусторонний (выгрузка и загрузка). Конфигурация: 1С: Бухгалтерия. Версия: 8.3. Конфигурации типовые, без доработок. Обмен между двумя базовыми бухгалтериями.
Москва
Фрилансеры
2025-04-19
Откликнуться
Программирование в Excel
дистанционно
договорная
Автоматизация расчётов. Расчёты: Выбрать определённые строки, каждая. 3я. С каждой второй взять номер и сделать текстовый файл. Техническое задание есть.
Санкт-Петербург
Фрилансеры
2025-04-19
Откликнуться
Программисты
дистанционно
договорная
Разработка игр. Переработать готовую игру. Игра: для установки на ПК. Игра: массовая онлайн. Жанр: RPG. Платформа: Виндовс. Графика: 3D.
Новосибирск
Фрилансеры
2025-04-19
Откликнуться
Программисты
дистанционно
договорная
Разработка чат-ботов. Задачи чат-бота: Сервис. Платформа: Telegram. Продукт: AI. Техзадания нет.
Санкт-Петербург
Фрилансеры
2025-04-19
Откликнуться