Pular para o conteúdo

Por que isso é importante

Deploy do pobre = Node, React e Mongo no free tier (Vercel, Fly legado vs PAYG, Atlas M0) com limites honestos: cold start, sleep e caps por SKU. Serve para aprender e MVP; produção real cobra observabilidade e o “sono” do free tier.

Leitura relacionada: auto-deploy no Render · hospedar site grátis (Vercel, Netlify, GitHub Pages) · curso de Node.js · aplicação fullstack em 90 dias · criar site grátis com IA.

100% Gratuito

Deploy do pobre: Node, React e Mongo grátis

Seu SaaS de Agendamento Gratuito com API Node.js e Front-end Next.js

Na prática: empilhe free tiers (API Node, front Next, Mongo) e publique um SaaS de agendamento sem cartão no começo — sabendo que cold start, sleep e caps por SKU existem. Fala Dev doido: produto e rede social na mesma tela, com limites reais do free tier.

Agendamentos

Sistema completo de agendamentos

Estabelecimentos

Multi-estabelecimentos em uma plataforma

Ecossistema

Rede social integrada completa

O que você vai construir

Um SaaS completo com todas as funcionalidades que você precisa para lançar seu negócio

Sistema de Agendamentos
Gerencie agendamentos completos com notificações automáticas
Multi-estabelecimentos
Suporte para múltiplos estabelecimentos em uma única plataforma
Ecossistema Social
Rede social integrada com posts, uploads e interações

✨ Funcionalidades Incluídas

Sistema de posts e uploads
Pagamentos via PIX
E-mails automáticos
Integração com mapas
Cache com Redis
Filas de mensagens

Tecnologias Explicadas

Entenda cada tecnologia usada no projeto e por que elas são importantes

Banco de dados NoSQL na nuvem que armazena dados em formato JSON flexível, ideal para aplicações modernas.
O que é?
MongoDB Atlas é um serviço de banco de dados como serviço (DBaaS) que oferece o MongoDB na nuvem. É um banco de dados NoSQL orientado a documentos que armazena dados em formato JSON flexível (BSON), permitindo esquemas dinâmicos sem necessidade de migrations complexas.
Por que usar?
O MongoDB é perfeito para aplicações modernas que precisam de flexibilidade e escalabilidade. Ele permite armazenar dados complexos e aninhados em um único documento, facilitando consultas e reduzindo a necessidade de JOINs complexos.
Plano Gratuito
O plano M0 (gratuito) do MongoDB Atlas oferece 512MB de armazenamento, compartilhado em servidores na nuvem. É mais que suficiente para desenvolvimento e pequenas aplicações em produção. Você pode criar um cluster gratuito que nunca expira, com backups automáticos e monitoramento básico.
Configuração
Após criar sua conta, você configura um cluster gratuito, cria um usuário de banco de dados, configura regras de acesso à rede (IP whitelist) e obtém sua string de conexão. Esta string será usada no .env da sua aplicação para conectar ao banco.
Serviço de mensageria que permite comunicação assíncrona entre diferentes partes da sua aplicação.
O que é?
RabbitMQ é um message broker (intermediário de mensagens) que implementa o protocolo AMQP. CloudAMQP é um serviço gerenciado que oferece RabbitMQ na nuvem, permitindo que você crie filas de mensagens sem gerenciar a infraestrutura.
Por que usar?
Filas de mensagens são essenciais para sistemas distribuídos modernos. Elas permitem comunicação assíncrona entre serviços, garantindo que operações importantes (como envio de emails, processamento de pagamentos) sejam executadas de forma confiável, mesmo em caso de falhas temporárias.
Casos de uso
No SaaS de agendamento, usamos RabbitMQ para: envio de emails de verificação, notificações de agendamentos, processamento de pagamentos, e outras operações assíncronas que não precisam bloquear o fluxo principal da aplicação.
Plano Gratuito
O plano Little Lemur (gratuito) do CloudAMQP oferece 1 nó RabbitMQ com limite de 1 milhão de mensagens por mês, 5 conexões simultâneas e 20 filas. É suficiente para a maioria das aplicações em fase inicial.
Banco de dados em memória usado para cache, melhorando drasticamente a performance da aplicação.
O que é?
Redis é um banco de dados em memória usado principalmente como cache, banco de dados de sessão, message broker e para outros casos que exigem alta performance. Upstash oferece Redis como serviço na nuvem com modelo de preço serverless.
Por que usar cache?
O cache armazena temporariamente dados frequentemente acessados em memória, reduzindo drasticamente o tempo de resposta da aplicação. Em vez de buscar dados no banco de dados principal a cada requisição, a aplicação pode recuperá-los do cache, que é muito mais rápido.
Benefícios de performance
Usar Redis como cache pode reduzir o tempo de resposta de milissegundos para microssegundos. Isso é crucial para manter sua aplicação responsiva mesmo com muitos usuários simultâneos. Além disso, reduz a carga no seu banco de dados principal.
Plano Gratuito
O plano gratuito do Upstash oferece 10.000 comandos por dia, 256MB de armazenamento e 20 conexões simultâneas. É ideal para desenvolvimento e aplicações com tráfego moderado.
Serviço de armazenamento de objetos compatível com S3, sem custos de transferência de dados.
O que é?
Cloudflare R2 é um serviço de armazenamento de objetos (similar ao Amazon S3) que permite armazenar arquivos como imagens, vídeos, documentos e outros tipos de mídia. A grande vantagem é que não há custos de transferência de dados (egress fees).
Por que usar?
Todo SaaS moderno precisa armazenar arquivos de usuários (fotos de perfil, uploads de documentos, etc.). Usar o sistema de arquivos do servidor não é escalável. R2 oferece armazenamento durável, escalável e de baixo custo para esses arquivos.
Vantagens sobre S3
A principal vantagem do R2 sobre o Amazon S3 é a ausência de taxas de transferência de dados. No S3, você paga para armazenar e também quando alguém baixa seus arquivos. No R2, você paga apenas pelo armazenamento, tornando-o muito mais econômico para aplicações com muitos downloads.
Implementação
No nosso SaaS, usamos R2 para armazenar fotos de perfil, imagens de estabelecimentos, e outros uploads de usuários. A implementação usa o SDK do Cloudflare para Node.js, que permite fazer upload, download e gerenciar arquivos programaticamente.
Integração de mapas e geolocalização para localizar estabelecimentos e calcular rotas.
O que é?
Google Maps Platform é um conjunto de APIs que permitem integrar funcionalidades de mapas, rotas, lugares e geolocalização em sua aplicação. É a mesma tecnologia usada pelo Google Maps.
Funcionalidades principais
Com a API do Google Maps, você pode: exibir mapas interativos, mostrar a localização de estabelecimentos, calcular rotas e distâncias, implementar autocomplete de endereços, e muito mais.
Uso no SaaS de agendamento
No nosso sistema, usamos o Google Maps para: mostrar a localização dos estabelecimentos no mapa, calcular a distância entre o cliente e o estabelecimento, sugerir rotas, e facilitar o preenchimento de endereços com autocomplete.
Plano gratuito
Desde março/2025 o crédito mensal de US$ 200 foi substituído por free usage caps por SKU (ex.: ~10k eventos/mês em Essentials, conforme categoria). Não use a equivalência antiga de “28k maps / 40k geocode”. Confira developers.google.com/maps/billing-and-pricing no dia.
Plataforma moderna de email para desenvolvedores, com templates React e alta entregabilidade.
O que é?
Resend é uma plataforma de email API-first criada para desenvolvedores. Ela permite enviar emails transacionais e de marketing com alta taxa de entrega, usando uma API simples e moderna.
Vantagens
Diferente de serviços tradicionais, o Resend foi projetado para desenvolvedores modernos. Ele suporta templates React, tem uma API simples, oferece analytics em tempo real, e tem excelentes taxas de entrega.
Templates React
Uma das características mais interessantes do Resend é o suporte a templates de email usando React. Isso permite criar emails bonitos e responsivos usando a mesma tecnologia que você usa no front-end.
Plano gratuito
O plano gratuito do Resend permite enviar até 100 emails por dia (3.000 por mês) e inclui todas as funcionalidades principais, como templates React, analytics e webhooks. É perfeito para desenvolvimento e aplicações com poucos usuários.
Plataforma para deploy de aplicações próximas aos usuários — free allowance legado; contas novas são pay-as-you-go.
O que é?
Fly.io é uma plataforma moderna para deploy de aplicações que executa seus serviços em datacenters próximos aos seus usuários. Ela permite executar aplicações em contêineres Docker distribuídos globalmente.
Vantagens
Diferente de plataformas tradicionais, o Fly.io executa suas aplicações em múltiplas regiões ao redor do mundo, reduzindo a latência para seus usuários. Ele também oferece IPs dedicados, certificados SSL automáticos, e uma CLI poderosa.
Arquitetura
O Fly.io usa uma arquitetura baseada em VMs leves (Firecracker) que iniciam rapidamente e consomem poucos recursos. Isso permite que você pague apenas pelo que usa, com granularidade de segundos.
Preço em 2026
O “free tier generoso” (3 shared-cpu-1x 256MB + 3GB volume) é legado: Fly.io só honra isso para orgs antigas (docs: Legacy Free allowances; planos sunset ~out/2024). Contas novas são pay-as-you-go / trial curto — orce ~poucos dólares/mês para uma VM pequena sempre ligada. Confirme fly.io/docs/about/pricing no dia do deploy.
Plataforma especializada em deploy de front-ends com foco em performance e experiência do desenvolvedor.
O que é?
Vercel é uma plataforma de deploy e hospedagem otimizada para frameworks JavaScript modernos como Next.js, React, Vue e Angular. Ela foi criada pelos mesmos desenvolvedores do Next.js e oferece a melhor experiência para esse framework.
Vantagens
A Vercel oferece: previews automáticos para cada commit/PR, CDN global, análise de performance, integração contínua, domínios personalizados gratuitos com SSL, e uma experiência de desenvolvedor excepcional.
Edge Network
A Vercel distribui seu front-end em uma rede global de servidores edge, garantindo que seu site seja carregado rapidamente para usuários em qualquer lugar do mundo. Isso é crucial para uma boa experiência de usuário e SEO.
Plano gratuito
O plano gratuito da Vercel inclui: projetos ilimitados, domínios personalizados, SSL automático, previews de PRs, e integrações com GitHub/GitLab/Bitbucket. As limitações principais são: 100GB de banda por mês e builds limitados.
Banco de dados PostgreSQL serverless com separação de armazenamento e computação para economia.
O que é?
NeonDB é um serviço de banco de dados PostgreSQL serverless que separa armazenamento e computação. Isso significa que você paga apenas pelos recursos que usa, e o banco pode escalar automaticamente conforme necessário.
PostgreSQL vs MongoDB
Enquanto o MongoDB é um banco NoSQL flexível, o PostgreSQL é um banco relacional robusto com suporte a transações ACID, consultas complexas e integridade referencial. É ideal para aplicações que precisam de consistência forte e estrutura de dados bem definida.
Arquitetura serverless
A arquitetura serverless do NeonDB significa que o banco de dados pode escalar para zero quando não está em uso, economizando custos. Quando uma consulta chega, ele inicia rapidamente e processa a solicitação.
Plano gratuito
O plano gratuito do NeonDB oferece: 1 projeto, 10 ramificações de banco de dados, 3GB de armazenamento, e computação equivalente a ~20 horas de uso contínuo por mês. É perfeito para desenvolvimento e pequenas aplicações em produção.
Plataforma de pagamentos brasileira especializada em PIX, com taxas competitivas e API simples.
O que é?
Woovi (anteriormente conhecido como Gerencianet) é uma plataforma de pagamentos brasileira especializada em PIX. Ela permite que você receba pagamentos instantâneos via PIX, com taxas competitivas e uma API simples de integrar.
Vantagens do PIX
O PIX revolucionou os pagamentos no Brasil: transferências instantâneas 24/7, sem taxas para pessoas físicas, confirmação imediata, e ampla adoção. Para empresas, significa recebimento mais rápido e menor custo comparado a cartões.
Funcionalidades
Com a Woovi, você pode: gerar QR codes PIX, criar cobranças com vencimento, configurar pagamentos recorrentes, receber notificações via webhook quando um pagamento é realizado, e muito mais.
Integração
A integração com a Woovi é feita via API REST. Você gera uma cobrança, recebe um QR code PIX, e quando o cliente paga, a Woovi notifica sua aplicação via webhook. No nosso SaaS, usamos para pagamentos de serviços e assinaturas.

Arquitetura do Sistema

Veja como todas as tecnologias se conectam para formar seu SaaS completo

👥 Usuários

Front-end Cliente

Next.js + Vercel

Front-end Estabelecimento

Next.js + Vercel

API Node.js

Hospedada no Fly.io

MongoDB Atlas

Banco Principal

Upstash Redis

Cache & Sessões

CloudAMQP

Filas de Mensagens

Cloudflare R2

Storage de Arquivos

Resend

E-mails Transacionais

Woovi

Pagamentos PIX

Google Maps

Geolocalização

Fluxo de Dados
1

Usuário interage com o front-end (Vercel)

2

Requisições são enviadas para a API (Fly.io)

3

API consulta cache (Redis) primeiro

4

Se necessário, busca dados no MongoDB

5

Operações assíncronas vão para RabbitMQ

Integrações Externas

Resend envia e-mails de verificação e notificações

Woovi processa pagamentos PIX via webhook

Google Maps fornece geolocalização e rotas

Cloudflare R2 armazena imagens e arquivos

Deploy Detalhado

Guia completo para colocar sua API e front-end no ar sem gastar nada! 🚀

Deploy API (Fly.io)Deploy Front-end (Vercel)
flyio
Deploy da API no Fly.io
Passo a passo completo para fazer deploy da sua API Node.js no Fly.io gratuitamente

1
Instalação e Setup Inicial

Primeiro, instale o Fly CLI e faça login:

# Instalar Fly CLI
curl -L https://fly.io/install.sh | sh
flyctl auth login

2
Configuração do Projeto

No diretório da sua API, execute:

# Inicializar projeto Fly
flyctl launch --no-deploy
# Escolha um nome único para sua app
# Selecione a região mais próxima (ex: gru para São Paulo)

3
Configurar Variáveis de Ambiente

Configure todas as variáveis do seu .env:

# Configurar secrets
flyctl secrets set JWT_SECRET=seu_jwt_secret_aqui
flyctl secrets set MONGO_URL=sua_string_mongodb
flyctl secrets set REDIS_HOST=seu_redis_host
flyctl secrets set RESEND_API_KEY=sua_chave_resend
# Continue com todas as outras variáveis...

4
Configurar fly.toml

Edite o arquivo fly.toml gerado:

[build]
  dockerfile = Dockerfile

[env]
  PORT = 8080
  NODE_ENV = production

[[services]]
  http_checks = []
  internal_port = 8080
  processes = [app]
  protocol = tcp
  script_checks = []

5
Deploy Final

Agora é só fazer o deploy:

# Deploy da aplicação
flyctl deploy
# Aguarde o processo de build e deploy
# Sua API estará disponível em:
https://sua-app.fly.dev
vercel
Deploy do Front-end na Vercel
Como fazer deploy dos front-ends (Cliente e Estabelecimento) na Vercel

1
Preparação dos Repositórios

Clone os templates dos front-ends:

# Front-end do Cliente
git clone https://github.com/gumiranda/CrazyStack-Client-NextJs

# Front-end do Estabelecimento
git clone https://github.com/gumiranda/CrazyStack-Estabelecimento-NextJs

2
Configuração das Variáveis

Configure o arquivo .env.local em cada projeto:

# Variáveis essenciais para ambos os front-ends
NEXT_PUBLIC_API_URL=https://sua-api.fly.dev
NEXT_PUBLIC_URL=https://seu-dominio.vercel.app
NEXT_PUBLIC_MAPS_API_KEY=sua_chave_google_maps
NEXT_PUBLIC_BUCKET_NAME=seu_bucket_cloudflare
NEXT_PUBLIC_CLOUDFLARE_R2_PUBLIC_URL=sua_url_r2

# Específico para Estabelecimento
NEXT_PUBLIC_WHATSAPP_NUMBER=5511999999999

3
Deploy na Vercel

Processo de deploy:

Conecte o repositório

Acesse vercel.com, faça login e conecte seu GitHub

Import Project

Clique em New Project e selecione o repositório

Configure Environment Variables

Adicione todas as variáveis NEXT_PUBLIC_*

Deploy

Clique em Deploy e aguarde o build

4
Customização e White Label

Personalize sua aplicação:

Edite whitelabel.ts

Configure nome, cores e informações da sua marca

Substitua imagens

Troque logos e imagens em public/images/

Configure JSONs

Edite arquivos de configuração das landing pages

5
Deploy Automático

Após as customizações:

git add .
git commit -m Customização inicial
git push origin main

# A Vercel fará redeploy automático! 🚀

Serviços & Links

Links úteis para configurar cada serviço necessário para o deploy

Banco de dados NoSQL na nuvem.
Serviço de filas de mensagens RabbitMQ.
Banco de dados Redis para cache.
CDN, DNS e storage R2.
APIs de Maps e geolocalização.
Serviço de envio de e-mails transacionais.
Plataforma de deploy de aplicações.
Alternative Postgres database.
Plataforma de deploy de frontends.

Passo a Passo Completo

Do zero ao deploy, aprenda cada etapa para colocar seu SaaS no ar sem gastar nada

Passo 1
Preparando o Ambiente
Clone o repositório público e configure seu ambiente de desenvolvimento
Acesse o GitHub e clone o repositório CrazyStackNodeJs
Use o template para criar seu próprio repositório
Configure o ambiente local com Node.js e suas dependências
Passo 2
Variáveis de Ambiente
Configure JWT, banco de dados, Redis e integrações essenciais
Crie arquivo .env baseado no env.example
Configure JWT_SECRET para autenticação
Defina URLs de banco de dados e serviços externos
Passo 3
MongoDB Atlas
Configure seu banco de dados gratuito na nuvem
Crie conta gratuita no MongoDB Atlas
Configure cluster gratuito (M0)
Gere string de conexão e configure usuários
Passo 4
RabbitMQ & Redis
Configure filas de mensagens e cache com CloudAMQP e Upstash
Configure CloudAMQP para filas de mensagens
Setup Upstash Redis para cache
Crie filas necessárias para o sistema
Passo 5
Cloudflare R2
Configure upload de arquivos com storage gratuito
Crie conta no Cloudflare
Configure bucket R2 para uploads
Gere credenciais de acesso
Passo 6
Google Maps API
Integre mapas e geolocalização ao seu SaaS
Acesse Google Cloud Console
Ative APIs de Maps necessárias
Gere chave de API com restrições adequadas
Passo 7
E-mails com Resend
Configure envio de e-mails transacionais
Crie conta no Resend
Verifique domínio com registros DNS
Configure templates de e-mail
Passo 8
Deploy no Fly.io
Faça deploy da API gratuitamente na nuvem
Instale Fly CLI e faça login
Configure fly.toml e Dockerfile
Deploy com comandos específicos
Passo 9
Pagamentos Woovi
Configure gateway de pagamento PIX
Crie conta no Woovi
Configure webhooks para pagamentos
Teste integração com simulações
Passo 10
Deploy na Vercel
Lance o front-end Next.js gratuitamente
Conecte repositório à Vercel
Configure variáveis de ambiente
Deploy automático com Git

Problemas comuns e gotchas do free tier

Erros frequentes + limites reais (cold start, Atlas IP, secrets) — sem vender milagre

Erros de Conexão

MongoDB Connection Error

Configure o IP 0.0.0.0/0 no MongoDB Atlas para permitir conexões de qualquer lugar.

Network Access → Add IP Address → Allow Access from Anywhere

Redis/RabbitMQ Errors

Comente temporariamente essas inicializações se não configurou ainda:

// await redisClient.connect();
// await rabbitMQConsumer.start();
Configurações

Environment Variables

Certifique-se de configurar todas as variáveis necessárias:

JWT_SECRET, MONGO_URL, RESEND_API_KEY, etc.

CORS Issues

Configure CORS para permitir requisições do front-end:

origin: process.env.CLIENT_APP_URL

Gotchas do free tier (visão rápida)

Diferencial CS: Fly + Vercel + Atlas + CloudAMQP + Upstash + R2 + Resend + PIX (Woovi/AbacatePay) — não mais um “MERN free” genérico. Limites mudam; revalide no dia nos docs de cada provedor.

ServiçoGotcha
Fly.ioFree allowance antigo (ex.: 3 VMs shared) é legado — orgs novas entram em PAYG (fly.io/docs/about/pricing). Planeje custo mínimo ou use outro free compute no MVP.
Cold startAceitável em MVP; ruim em demo ao vivo / first paid user.
Atlas M0IP allowlist (ou 0.0.0.0/0 consciente) + teto de storage — monitore antes do launch.
Fly secrets / env“Funciona local, 500 em prod” quase sempre é var faltando — checklist JWT, MONGO_URL, RESEND, CLIENT_APP_URL.
Upstash / CloudAMQPFree: sleep e limite de conexão — boot deve degradar se ainda não configurou.
Maps PlatformCrédito US$200 mensal genérico saiu (mar/2025); agora há free usage caps por SKU — confira developers.google.com/maps/billing-and-pricing.
Vercel + ResendÓtimos para front/e-mail de MVP; watch rate limits e domínio verificado.

Quando sair do free tier

Sinais honestos: cold start mata conversão, Atlas perto do teto, fila/AMQP instável, ou você já tem MRR que justifica o plano pago. Até lá, maximize o stack pobre.

Handoff: micro-SaaS + PIX

Nicho/fidelização sem ads → micro-SaaS sem capital. Checkout PIX → AbacatePay (Wave E). Aqui você só sobe a infra.

Pronto para começar?

Assista ao tutorial completo e coloque seu SaaS no mundo! 🌎🔥

Deploy do Pobre

© 2026 Deploy do Pobre. Feito com 💚 para a comunidade dev.

Fontes

Revisão em agosto de 2026. Free tiers (Fly.io legado vs PAYG, Vercel, Maps Platform) mudam sem aviso — o “deploy do pobre” é playbook de aprendizado, não garantia de zero custo em produção. Confira pricing oficial no dia.

Fly.io — Pricing · Vercel Docs · Google Maps — Billing March 2025.

Perguntas frequentes

O que é o deploy do pobre?

É um playbook de free tiers para publicar Node/React/Mongo (e afins) sem cartão no dia 1 — aprender deploy real com limites honestos, não “infra infinita grátis”.

Fly.io ainda tem free tier para quem começa agora?

O free generoso antigo é legado. Contas novas costumam ir para PAYG — confira a pricing atual da Fly. Não planeje MVP assumindo 3 VMs free para todo mundo.

Deploy grátis serve para produção séria?

Serve para estudo e MVP de baixo tráfego. SLA, escala e uptime pedem plano pago, observabilidade e backup — free tier muda regra sem aviso.

Google Maps ainda dá US$ 200 de crédito no deploy do pobre?

Não como referência atual. Desde mar/2025 a Maps Platform usa free caps por SKU — modele custo por API, não pelo crédito mensal antigo.