CrazyStack
100% Gratuito

Deploy do Pobre

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

Fala Dev doido! 😜 Aprenda a fazer deploy sem pagar nada para lançar um SaaS completo de agendamento. Um produto e rede social na mesma tela!

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.

Serviço de mensageria que permite comunicação assíncrona entre diferentes partes da sua aplicação.

Banco de dados em memória usado para cache, melhorando drasticamente a performance da aplicação.

Serviço de armazenamento de objetos compatível com S3, sem custos de transferência de dados.

Integração de mapas e geolocalização para localizar estabelecimentos e calcular rotas.

Plataforma moderna de email para desenvolvedores, com templates React e alta entregabilidade.

Plataforma para deploy de aplicações próximas aos seus usuários, com plano gratuito generoso.

Plataforma especializada em deploy de front-ends com foco em performance e experiência do desenvolvedor.

Banco de dados PostgreSQL serverless com separação de armazenamento e computação para economia.

Plataforma de pagamentos brasileira especializada em PIX, com taxas competitivas e API simples.

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 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

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

Soluções para os erros mais frequentes durante o deploy

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

Pronto para começar?

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