1) Какую базу данных выбрать и на каком языке выгоднее создать бакенд (php nodejs).
Любую, на которой вам будет быстрее и комфортнее работать.
Иначе говоря, спрашиваете у разработчика мобильного приложения, тот говорит что ему нужен GraphQL, по GraphQL заточен nodejs лучше, и вы будете как на рынке торговаться в пользу лучшего решения.
2) Как правильно создать авторизацию создать стандартную сесионную или по ключам как node или же лучше прикруть готовую от firebase?
через токены. если будет нормальный вебсайт еще, то точно не firebase, очень некомфортно. Сессий в API нет.
3)Как правильно и быстро организовать загрузку картинок на сервер. А-то я написал мини демо на андроиде, так через мобилку мой скрипт пытался загрузить на сервак картинку размером 8 мб которая сделанная на моем телефоне без сжатия. Времени у меня при моем интернете на телефоне заняло почти 5 минут. А мен кажется никто столько ждать не будет.
Сжимать на клиенте и отправлять сжатое изображение.
4)Если буду использовать firebase auth какие минусы и подводные камни меня ожидают при реальном использовании клиентами. В принципе думаю этого достаточно так как приложение все равно не большое. Но для меня важные эти вопросы.
У нас проблема была в синхронизации и написании методов на php бэке. если уже есть система авторизации на бэке, то нет смысла использовать firebase auth.