Кратко
Хочется такую android-приложеньку, в которой можно накидать разных файлов в список, попереупорядочивать их между собой, покидать в тот же список элементов типа «кусок текста» (написанных прямо в той же приложеньке), голосовух, фоток. В общем, как будто пишешь сам себе в личку, но можешь переупорядочивать мессаги. И далее я хочу получить в худшем случае архив project.zip, внутри которого лежит собственно финальный вид проекта в виде множества файлов с порядковыми номерами, 1.ogg, 2.mp4, 3.txt, …, 500.mp4 + некий Manifest.json, описывающим явно список этих файлов, их типов, имя проекта и что-то такое ещё. В лучшем случае на выходе не .zip под 5 гигов, а что-то умнее: например постинг Manifest.json на мой предустановленный сервер и закачка файликов по rsync туда же.
Длинно
Идея проста и делится на 2 части.
- Клиент: android-приложение, где я создают «проект». В проект из галереи (в несколько подходов и не за один день) накидываю видосов, звуков (возможно добавляю голосовухи записью прямо в приложеньке), фоток, добавляю тексты из встроенной в приложеньку . Приложение запоминает всё добавленное как список «ресурсов». Ресурс - это файл в смартфоне (в виде пути до него), написанный текст. Это может выглядеть почти как мессенджер, где я накидал файлов сам себе в личку. Одно отличие: ресурсы (сообщения) можно менять местами, переупорядочивать. В конечном итоге, проект - это список путей до каких-то файлов в смартфоне, текстов и возможно чего-то ещё. У проекта есть имя и возможно какая-то текстовая строка «тип».
У клиента (почему он назван «клиент» и где тут сервер) есть кнопка «Send Project», по которой проект отправляется на заданный в настройках сервер. Отправка проекта - это HTTP POST .json-простыни со списком ресурсов и далее отправка всех файлов, участвовавших в проекте с помощью чего-то rsync-подобного, выдерживающего отвалы сети и умеющего докачку.
- Сервер: штука, реализующее API: «принять .json проекта» + «принять гору файлов». Что делает сервер - определяется фантазией разработчика сервера (представляющего собой какую-то быдлокодерскую python-скриптину). Пример: берёт все .mp4 файлы проекта, конкатенирует в один видеофайл, заливает результат на ютуб и возвращает клиенту ссылку. Карманный видеоредактор для 99% юзкейсов монтажа снятых в отпуске видосиков. Если после видоса идёт .ogg голосовуха - выкидывает из предыдущего видоса аудиодорогу и заменяет данным голосовым комментарием. Или, когда проект имеет тип «blogpost» и выглядит как последовательность текстовых кусков и картинок - это же настоящий пост в условное ЖЖ. Сервер льёт куда-то на хостинг картинки, оформляет из последовательности текстовых кусков и ссылок-на-картинки пост в какой-нибудь MD разметке и пуляет этот пост в целевую платформу публикации (blogger/twitter/teleram/собственный блог).
В общем, хочется найти карманное средство создания проектов как последовательности каких-то файлов (если это видосы, желательно в том же интерфейсе видеть их микро-воспроизводящиеся тамбнейлы) или текстов и отправки этого проекта на сервер по какому-то вышеописанному API, чтобы автоматизировать далее поручить серверу что-то с этим делать.
Раньше у меня эту задачу решал специальный телеграм-бот. Он умел даже монтировать видосы указанным выше способом, но есть минусы: файлы приходится посылать сразу, он их сразу закачивает. Переупорядочивание - это отдельный слой абстракции (скажем, закачанным файлам присвоены номера, а ты потом посылаешь команды вида move 2 back, что полная жопа) да и в принципе если ты решил на полпути «проекта», что ты передумал, ты уже успел напрячь сеть и накачать гору трафика зря, а хотелось бы сначала локально подумать над конечным видом проекта, а потом его закоммитить.
Перемещено mono из development