1. Цель проекта
Создать рабочее мобильное приложение (iOS и Android), совместимое с существующим PHP-бэкендом и базой данных. Приоритет — максимально быстрое восстановление функционала прежнего приложения с возможностью его дальнейшей доработки.
2. Что имеется в наличии
✅ Файлы серверной части (бэкенд на PHP);
✅ SQL-дамп и живая база данных;
✅ Скомпилированные файлы старого мобильного приложения:
app.apk (Android);
app.ipa (iOS).
✅ Старое ТЗ с описанием полей функционала и скриншотами
❌ Исходные файлы мобильного приложения отсутствуют.
3. Задачи проекта
3.1. Проверка возможности пересборки из APK
Извлечь код и ресурсы из APK с помощью инструментов (apktool, JADX и др.).
Оценить возможность частичного восстановления проекта из APK/Smali-кода.
Если возможно внести правки без полной переработки — предпочтительный путь: пересобрать APK с доработками (например, заменить ссылки, тексты, изображения и т.д.).
3.2. Анализ логики и API
Исследовать структуру экранов, навигацию, используемые API (из кода и сетевых запросов).
3.3. Разработка нового приложения (если пересборка невозможна)
При невозможности удобной пересборки — создать новое приложение с аналогичным функционалом на Flutter или React Native.
Интеграция с текущим бэкендом через API.
Повторение логики старого приложения (авторизация, личный кабинет, формы, функционал и т.д.).
3.4. Тестирование
Полное тестирование функционала.
Проверка связи с сервером.
3.5. Сборка и публикация
Сборка APK и IPA.
Подготовка к публикации в маркетах (если нужно).
Передача исходников.
4. Требования к стеку
Flutter / React Native (если делаем с нуля то предпочтительнее эти языки);
Совместимость с PHP-бэкендом (REST API);
Поддержка Android 8+ и iOS 13+;
Возможность адаптации под планшеты.
5. Дополнительные требования
Чистый, документированный код;
Возможность доработок в будущем;
Полная передача прав и исходников.