Olá, muitíssimo obrigado pelo feedback, estou anotando todos para ajustes posteriores, são muito valiosos. <3
Sobre o porquê de 3 banco de dados diferentes, eu irei fazer um post sobre a stack que utilizei e cada caso de uso, mas pra sanar a curisidade de algumas pessoas, aí vai:
Na verdade, são apenas DOIS banco de dados, MongoDB e PostgresSQL. Na arquitetura do sistema como um todo, o banco de USUÁRIOS é separado do banco da LOJA ou dos APPS em si. O Nouveau é apenas um dos vários sistemas que eu quero desenvolver, aliás, toda a arquitetura foi pensada no templating, o mobile, o server etc são todos construídos de forma que seja extremamente fácil modificá-los para um novo app e adicionar novas funcionalidades. Por exemplo, no futuro quero ter um sistema para alugueis etc, ao invés de fazer tudo do zero, eu posso simplesmente clonar o que tem do templating e substituir algumas coisas, tables etc (que também é gerencio por um arquivo JSON: rotas, nomes etc). O Banco de USERS utiliza MongoDB porque é um noSQL estruturado em docs, o que é muito mais fácil para leitura e manipulação dos usuários. A api de users fica totalmente responsável pela gerencia dos usuários como confirmação de senha, recovery, email etc. Também funciona de forma independente dos outros apps, entende a jogada? Toda comunicação é feita por api, já que eles estão segregados.
O firebase serve apenas para alguns serviços como Notifications, analytics, crashlytics, armazenamento de documentos, imagens etc. Ah, outra coisa, O firebase firestore não se desenvolve nada bem quando se tem queries um pouco mais complexas, sabe? Por ser baseado no MongoDB, quando os dados começam a ficar um pouco mais complexos (relações, queries etc), começamos a ter problema de gerenciamento de dados o que leva a um consumo e complexidade mais elevado. No mais é isso mano espero que tenha dado pra entender um pouco kkkkk. Abraços!!!