Tenho um sistema de gestão e aplicativo white label (cardápio digital) desenvolvido em Ionic 3 + Firebase (Firestore, Auth, Storage, Hosting) + Back-end em Cloud Functions (Eventos Firestore + API)
Cada cliente utilizamos 1 projeto no Firebase
Cada cliente utiliza 1 link no Firebase Hosting e dependendo do plano tem 1 app White label publicado na Google Play & App Store (mesmo código-fonte do cardápio digital)
Para implantar um novo cliente, temos um script para fazer todo o processo de criação do projeto no Firebase, personalização e publicação, "automático".
Código-fonte do gestor e do cliente estão no mesmo repositório e mesmo servidor, isolamos o acesso verificando o tipo do usuário.
Para a pessoa que visita o nosso site ou tem interesse de testar, criamos um sistema no Angular para preencher os dados da empresa e poucos minutos depois, ele recebe o acesso no WhatsApp/E-mail. Para isto funcionar, criamos um script/projeto no NodeJS para criar/gerar projetos no Firebase e definir eles como reserva (normalmente deixamos 30 disponíveis), e assim que algum visitante do site preencher o formulário, buscamos o primeiro projeto reserva e personalizamos ele e enviamos para o Hosting com os dados do restaurante.
*** O que precisamos ***
- Não utilizar mais o Firebase para banco de dados e hospedagem do front-end
- Manter Firebase apenas para autenticação, para não atrapalhar os clientes e usuários atuais (tem projeto com 30 mil usuários cadastrados)
- Criar API e projeto com back-end próprio (não quero depender do Google), mas como temos mais de 100 clientes ativos, temos que fazer um processo de sincronização (porque muitos consumidores/usuários podem estar com uma versão antiga do aplicativo do restaurante, utilizando ainda o Firestore).
- Criar o sistema do gestor isolado da aplicação do consumidor (pode ser em Angular, para ficar melhor no acesso Web)
- Criar o acesso do consumidor no Ionic 8 (migrar todos componentes e páginas)
Algumas funcionalidades:
- Gestor de Pedidos
- PDV
- Emissão NFCe / NFe (API Externa)
- Cardápio (categoria, produto, opção, item, sabor)
- Fidelidade
- Cupom
- Relatórios
- Controle financeiro
- Abertura e fechamento de caixa
- Pagamento online (temos integração com Cielo, MercadoPago &
pagar.me)
Observação: o back-end do estoque já encontra-se no Node e Postgres (1 banco para todos clientes)
*** Minha sugestão é dividir o projeto em 2 ou 3 partes ***
Primeira parte: gerar o gestor no Angular com API e PostgreSQL + Sincronizador com Firestore
Segunda parte: gerar o cardápio digital no Ionic 8
Terceira parte: cadastro teste grátis + gestão dos clientes + controle da assinatura (SaaS)
É necessário deixar tudo funcionando (independente se vai ser dividido ou não)
Se precisarem terem um acesso temporário no gestor ou como cliente, podem me solicitar por mensagem!
Contexto Geral do Projeto
Quero aproveitar todas funcionalidades desenvolvidas, todo código.
O recurso de API atual do Cloud Functions pode ser aproveitado no novo projeto.
Para manter o "tempo real" do Firestore, minha sugestão é usar GraphQL.
Meu objetivo é não depender mais do Google:
- Custo alto
- Limite de projeto (se eu tiver por exemplo 100 vendas em um mês terei que solicitar por e-mail e aguardar gentilmente que aprovem um número maior de projetos)
- Quero isolar o acesso do gestor (inclusive ter 1 app exclusivo nas lojas para facilitar) e somente 1 link de gestão para qualquer cliente acessar
Prazo de Entrega: Não estabelecido