[PITCH] Ministrary - Um sistema de gestão do ministério infantil para igrejas

➡️ Como Tudo Começou?

Na minha igreja, tivemos alguns pepinos com um projeto antigo, então decidi criar um novo. Por que não, né? 😅 Comecei a desenvolver uma plataforma para gerenciar nosso ministério infantil, e eis o que saiu dessa ideia.

🔧 Ferramentas que Usei

  • NX Workspace (Monorepo)
  • Angular 🅰️ (Frontend)
  • Supabase (Backend e banco de dados) 🚀
  • ng-zorro (UI) 🦓
  • Node.js (API) 🚂
  • Stripe (Pagamentos)
  • Electron (App desktop) ⚡
  • Firebase (Frontend hosting) 🌐
  • Render (API hosting) 🛠️

👩‍💻 Desafios pelo Caminho

O maior desafio com certeza foi o de desenvoler um programa para imprimir as etiquetas. Primeiro que eu não tinha uma impressora, e segundo que eu nunca tinha feito nada parecido com isso.

Acabei optando por utilizar o Electron com o Angular mesmo, e deu muito certo, como utilizo o NX eu consegui compartilhar muitos componentes e páginas entre os apps, o que facilitou bastante o desenvolvimento.

Por exemplo, o módulo de login/cadastro é compartilhado, o que significa que eu apenas chamo ele nas rotas das duas aplicações e tudo relacionado a login e cadastro fica pronto tanto pro webapp quanto pro app desktop em electron.

💥 Super dica

Supabase com certeza foi o fator responsável por eu ter conseguido fazer tudo isso em menos de 6 meses.

Não consigo nem contar o tanto de tempo que economizei não tendo que fazer tudo relacionado ao back-end, autenticação, tabela de usuários, jwt e etc.

Com o supabase eu consigo tudo isso em minutos, sem contar com escalabilidade, segurança e etc. Eu poderia ficar horas e horas falando das vantagens do Supabase, mas creio que já deu pra entender né?

Então no seu próximo projeto pessoal, utilize o Supabase que você não vai ser arrepender.

🙌 Quer Saber Mais?

Dá uma olhada no site. Se quiser usar isso na sua igreja, é só me chamar.

👩‍💻👨‍💻 Feedback!

Manda bala com suas ideias, opiniões e sugestões. Toda opinião é bem-vinda!

Olá, Shrizzon! Primeiramente, parabéns pelo desenvolvimento do Ministrary. A escolha de tecnologias como Angular e Supabase chamou minha atenção, e me motivou a dar uma olhada no site do seu projeto. Devo confessar que ainda estou me familiarizando com o conceito de ministério infantil, mas pelo que pude ver no site, o Ministrary parece ser uma plataforma bem completa.

As funcionalidades, pelo pouco que vi, parecem bem interessantes, especialmente o sistema de check-in/out, a gestão de eventos. sobre essa impressão de etiquetas, é para colcoar nas crianças? ela acontece no momento do check-in? E por que a escolha do Electron para isso? Já que tem um aplicativo web, por que não imprimir diretamente do navegador?

Você já pensou em expandir o uso do seu app para além das igrejas evangélicas? Imagino que muitas outras organizações também poderiam se beneficiar de um sistema assim. Um sistema mais mais genérico, talvez até open source, onde você e vende a implementação, manutenção e suporte para igrejas que queriam usar a plataforma. De certa forma similar ao modelo de negócios da bilhonária Red Hat.

Quanto ao Supabase, sempre achei a proposta dele fascinante por ser self-hosted e funcionar como um "wrapper" ao redor do PostgreSQL. Como você integrou isso ao seu projeto? Adoraria saber mais sobre sua experiência, especialmente se você precisou interagir diretamente com o banco de dados via SQL ou se tudo foi feito através de JS. E sobre o uso do Firebase, fiquei um pouco confuso, já que o Supabase é justamente uma alternativa à ele. Isso me deixou na dúvida se o Ministrary é aplicativo web, desktop. Qual foi o raciocínio por trás dessa escolha?

Parabéns novamente pelo projeto! É realmente inspirador ver soluções tecnológicas sendo desenvolvidas com tanto cuidado e dedicação. Estou muito ansioso para ver como o Ministrary vai evoluir e alcançar ainda mais sucesso, atendendo com sucesso mercados tão diversos e, especialmente, não tecnológicos.

Quando mencionei a ideia de uma solução mais genérica e open source, confesso que foi por puro egoísmo, já que adoraria poder usar algo assim (haha). Mas, como você bem disse, o mercado de igrejas é tem grande potencial. Você já pensou em expandir o foco do Ministrary para além do ministério infantil, abrangendo outras áreas dentro das igrejas? Dado o tamanho desse mercado, focar pesado e 'sonhar grande' nele poderia ser uma estratégia muito bem-sucedida.

Primeiramente, obrigado! Vou tentar responder a todas as suas perguntas. > 1. Sobre essa impressão de etiquetas, é para colcoar nas crianças? Isso mesmo, as etiquetas servem como uma identificação para os pais e as crianças. Cada etiqueta tem um QR Code para check-out. --- > 2. E por que a escolha do Electron para isso? Porque o check-in é feito pelo celular do pai ou responsável. Então a igreja precisa de um computador conectado a impressora e esse computador vai imprimir. Além disso, o navegador não tem acesso a lista de impressoras, e o app desktop também serve para gerenciar as impressoras da igreja. --- > 3. Você já pensou em expandir o uso do seu app para além das igrejas evangélicas? Por enquanto não penso nisso, o foco vai ser nas igrejas mesmo. --- > 4. Como você integrou isso (Supabase) ao seu projeto? A integração é bem simples, na verdade. Basta instalar a biblioteca e criar um serviço para iniciar o supabase, e sempre que preciso fazer algo no banco, eu chamo esse serviço. Eu também criei um serviço base que contém um get, post, update and delete. Por exemplo, toda vez que preciso buscar algo, eu uso essa função: ```ts select(select = '*') { return this.supabase.from(this.tableName).select(select, { count: 'exact' }).eq('active', true).order('created_at'); } ``` Quanto ao **Firebase**, eu uso ele apenas para hospedar o front-end, não uso para nada além disso. --- > 5. Você já pensou em expandir o foco do Ministrary para além do ministério infantil, abrangendo outras áreas dentro das igrejas? Sim, a ideia é transformar o Ministrary em um sistema completo de gerenciamento de todo o voluntariado da igreja. Criando escalas, trocas dos voluntários, materiais de estudo, e etc.

Muito interessante e diferente este case, parabéns. Eu já estive muito ativo em ministério infantil e vejo que cada pepino que sua ferramenta deve ser uma mão na roda para resolver.

Mas uma curiosidade que sempre tive, ma nunca tive alguém exatamente "perto" para perguntar... Como você ver esse mercado de igrejas? Ao mesmo tempo que eu acho promissor, eu acho muito "restrito" e até meio """"retrógrado"""" com relação a sistemas de informação.

Eu também já pensei nisso, mas logo passou quando eu vi meu concorrente estar em mais de 10 países e ter mais de 1000 igrejas usando o sistema. Muitas igrejas hoje estão entrando para a área da tecnologia, então creio que tem se tornado um bom mercado.
Atualmente quais são seus concorrentes diretos?
https://appmykids.com.br/ e https://inchurch.com.br/

Muito maneiro seu projeto, eu só tenho uma dica recomendaria não usar o render, mas sim um cloud provider mais customizado e com um custo menor, obviamente aumentaria a complexidade do projeto, mas deixaria mais robusto e menos integrado

Qual você recomendaria? Eu tô usando a versão gratuita do Render por enquanto. Mas vi que o preço é bem alto mesmo.