search

Доработать мобильное приложение для Андроид и Ios устройств

visibility78
schedule26 дней назад
categoryПрограммирование и разработка

Бюджет не указан / по договорённости

descriptionОписание

Техническое задание на доработку мобильного приложения "ArtBook" для создания фотокниг из детских рисунков 1. Обновленное описание проекта Текущий статус: Приложение находится на стадии разработки с реализованным базовым функционалом. Необходима доработка модулей экспорта, заказа и интеграции с бэкендом. Аналоги: "Это Слон" - приложение для создания фотокниг. Цель доработки: Доведение приложения до коммерческой версии с полным циклом: создание книги → оформление заказа → оплата → передача в типографию → доставка. 2. Существующий функционал (не требует изменений) 2.1. Реализованные модули: Стартовый экран Выбор количества страниц (листов) в книге Модуль загрузки изображений Загрузка с галереи устройства Съемка через камеру Кропинг изображений с сохранением Редактор макета Страница с выбранными фото Drag-and-drop между страницами Перемещение изображений Превью книги Предпросмотр расположения изображений Назначение обложки Поддержка форматов: Вертикальный (А4 портрет) Горизонтальный (А4 альбом) 3. Требуемые доработки 3.1. Модуль 5: Система экспорта в типографию (ВЫСОКИЙ ПРИОРИТЕТ) 3.1.1. Генерация печатного файла dart // Требуемый функционал: [ ] Создание PDF строго по типографским стандартам [ ] Автоматическая расстановка вылетов под обрез (bleed 3 мм) [ ] Добавление меток обрезки (crop marks) [ ] Конвертация RGB → CMYK с ICC профилем [ ] Минимальное разрешение 300 DPI [ ] Встраивание шрифтов/конвертация в кривые [ ] Нумерация страниц [ ] Информационная страница с параметрами заказа 3.1.2. Валидация перед экспортом dart [ ] Проверка всех изображений на разрешение ≥ 300 DPI [ ] Проверка безопасной зоны (важные элементы не ближе 5 мм к обрезу) [ ] Проверка цветового режима [ ] Предупреждение о потенциальных проблемах печати 3.2. Модуль 6: Система заказов (ВЫСОКИЙ ПРИОРИТЕТ) 3.2.1. Экран оформления заказа dart // Структура экрана: [ ] Шаг 1: Выбор количества экземпляров (1-10) [ ] Шаг 2: Выбор параметров печати: - Тип бумаги: глянцевая/матовая - Плотность бумаги: 130/150/200 г/м² - Тип обложки: мягкая/твердая - Ламинация обложки: глянцевая/матовая [ ] Шаг 3: Ввод данных доставки: - ФИО получателя - Телефон - Адрес (с интеграцией DaData) - Выбор службы доставки: * СДЭК * Boxberry * Почта России * Самовывоз (если есть пункты выдачи) [ ] Шаг 4: Расчет стоимости: - Отображение итоговой суммы - Разбивка по позициям - Стоимость доставки (рассчитывается по API) [ ] Шаг 5: Подтверждение заказа 3.2.2. Управление заказами dart [ ] История заказов пользователя [ ] Текущий статус каждого заказа: - Создан - Ожидает оплаты - Оплачен - Передан в печать - В доставке - Доставлен - Отменен [ ] Уведомления об изменении статуса (push + email) [ ] Возможность повторного заказа 3.3. Модуль 7: Платежная система (ВЫСОКИЙ ПРИОРИТЕТ) 3.3.1. Интеграция с ЮКасса (YooKassa) dart // Требования к реализации: [ ] Поддержка способов оплаты: - Банковские карты (Visa, Mastercard, МИР) - Apple Pay / Google Pay - SberPay - ЮMoney [ ] Соответствие PCI DSS [ ] Сохранение карт для быстрой оплаты (с согласия пользователя) [ ] Мобильный SDK ЮКасса для Flutter [ ] Обработка статусов оплаты: - pending (ожидает оплаты) - waiting_for_capture (удержана, ожидает списания) - succeeded (успешно оплачена) - canceled (отменена) 3.3.2. Логика оплаты dart [ ] Оплата только после генерации макета [ ] Автоматическая отправка файла в типографию после успешной оплаты [ ] Возврат средств при отмене заказа [ ] Чек по 54-ФЗ (онлайн-касса через ЮКасса) 3.4. Модуль 8: Бэкенд и серверная часть (ВЫСОКИЙ ПРИОРИТЕТ) 3.4.1. Архитектура бэкенда yaml Предлагаемая технология: Node.js + Express + PostgreSQL Или: Django + PostgreSQL (если команда знает Python) Обязательные модули: 1. Auth Service (аутентификация) 2. Order Service (управление заказами) 3. Payment Service (интеграция с ЮКасса) 4. Delivery Service (расчет доставки) 5. Print Service (взаимодействие с типографией) 6. Notification Service (уведомления) 3.4.2. Основные API endpoints dart // Примерная структура API: // 1. Аутентификация POST /api/auth/register POST /api/auth/login POST /api/auth/refresh POST /api/auth/logout // 2. Проекты пользователя GET /api/projects POST /api/projects GET /api/projects/{id} PUT /api/projects/{id} DELETE /api/projects/{id} // 3. Заказы POST /api/orders # Создание заказа GET /api/orders # Список заказов GET /api/orders/{id} # Детали заказа POST /api/orders/{id}/pay # Инициирование оплаты // 4. Оплата (webhook от ЮКасса) POST /api/payments/webhook // 5. Доставка GET /api/delivery/calculate # Расчет стоимости GET /api/delivery/pvz # Список ПВЗ // 6. Экспорт POST /api/export/generate-pdf GET /api/export/status/{taskId} 3.4.3. База данных sql -- Основные таблицы: 1. users (пользователи) 2. projects (проекты фотокниг) 3. orders (заказы) 4. payments (платежи) 5. deliveries (доставка) 6. print_files (файлы для печати) 3.5. Модуль 9: Интеграция с типографией (СРЕДНИЙ ПРИОРИТЕТ) 3.5.1. Автоматическая отправка dart [ ] REST API для отправки файлов в типографию [ ] Форматы передачи: - PDF/X-1a:2003 (рекомендуемый для печати) - Поддержка FTP/SFTP отправки [ ] Передача метаданных: - ID заказа - Параметры печати - Контактные данные - Адрес доставки 3.5.2. Статусы производства dart [ ] Получение статусов от типографии: - Файл принят - В производстве - Готов к отгрузке - Отгружен [ ] Синхронизация статусов с приложением 3.6. Дополнительные улучшения (НИЗКИЙ ПРИОРИТЕТ) 3.6.1. UI/UX улучшения dart [ ] Анимации перехода между экранами [ ] Лоадеры при загрузке [ ] Оффлайн-режим для редактирования [ ] Автосохранение черновиков [ ] Возможность поделиться проектом 3.6.2. Аналитика и маркетинг dart [ ] Firebase Analytics [ ] События для воронки продаж [ ] A/B тестирование [ ] Push-уведомления о скидках 4. Технические требования к доработке 4.1. Для Flutter разработчика yaml Обязательные пакеты: - yookassa_flutter: ^2.0.0 # для оплаты - pdf: ^5.7.2 # для генерации PDF - printing: ^5.9.1 # для предпросмотра PDF - dio: ^5.0.0 # для API запросов - shared_preferences: ^2.2.2 # для локального хранения - connectivity_plus: ^4.0.2 # проверка соединения - flutter_local_notifications: ^15.1.1 # уведомления - image_picker: ^1.0.4 # уже используется - image_cropper: ^5.0.2 # уже используется 4.2. Качество кода dart [ ] Добавить BLoC/Cubit для новых модулей [ ] Написать unit-тесты для критического функционала [ ] Интеграционные тесты для API [ ] Документация по новым модулям [ ] Соответствие Flutter Style Guide 4.3. Безопасность dart [ ] Шифрование чувствительных данных [ ] HTTPS для всех API запросов [ ] Валидация входных данных [ ] Защита от SQL-инъекций (на бэкенде) [ ] Rate limiting на API