O deploy do pobre: como eu subo um SaaS de agendamento de graça?
Dev Doido

Dev Doido @devdoido

Location:
Minas Gerais
Joined:
May 18, 2022

O deploy do pobre: como eu subo um SaaS de agendamento de graça?

Publish Date: Jun 5
0 0

🚀 Deploy do Pobre: Seu SaaS de Agendamento Gratuito com API Node.js e Front-end Next.js

Fala Dev doido! 😜 Hoje eu vou ensinar vocês a fazer o "deploy do pobre". Nesse vídeo tem o TUTORIAL COMPLETO!! O que é isso? É o deploy que você não paga nada pra lançar um SaaS de agendamento igual a esse aqui. Um SaaS social, um produto e uma rede social na mesma tela. Aqui você consegue fazer um "tweet", postar o que quiser, com upload e um monte de coisa! ✨

Você tem:

  • Agendamentos 📅
  • Estabelecimentos 🏪
  • Um ecossistema completinho 🔗

Eu vou te mostrar do zero, passo a passo, como configurar a API e esse front top.


🧰 1. Preparando o Ambiente e Clonando o Repositório

  1. Vá no meu GitHub e clona o repositório (é um public template).
  2. Clique em "Use this template""Create a new repository" → Escolha o nome (ex: Gendei-API) 🧠
  3. Pode ser um SaaS para múltiplos estabelecimentos ou para um cliente específico (ex: Barbearia do Seu Zé) 💈
  4. Cria como privado (ou público) e clica em "Create repository" 🧪
  5. Clone o repositório na sua IDE, copia a URL e roda local 🎯

🔧 2. Configurando as Variáveis de Ambiente (.env)

  • Crie o arquivo .env
  • Copie o conteúdo do env.example
  • Configure os campos:

    • JWT_SECRET 🔐
    • Banco de dados obrigatório (MongoDB ou Postgres) 🛢️
    • Redis (opcional) ⚡
    • Gateway de pagamento: Pix via Woovi 💸
    • Email: Provider via Resend ✉️

☁️ 3. Banco de Dados com MongoDB Atlas

  • Crie a conta no Mongo Atlas 🌐
  • Selecione o plano free 🆓
  • Configure variáveis:

    • MONGO_URL
    • MONGO_URL_PROD
  • Crie usuários, defina senha e monte a string de conexão 🧩


🧪 4. Rodando a API e Tratando Problemas

Provavelmente vão surgir erros:

  • Redis ❌: comente a inicialização
  • RabbitMQ ❌: comente o consumer
  • Configure acesso à rede no MongoDB: use 0.0.0.0/0 (cuidado com segurança) 🔐

📬 5. Broker com RabbitMQ (CloudAMQP)

  • Crie conta no CloudAMQP
  • Plano gratuito: Little Lemur 🐒
  • Copie a URL e configure RABBITMQ_URL
  • Crie as filas (queues):

    • new-owner
    • resend-email-verification
    • validate-email
    • router-driver-finished
    • send-email-verification 📩

🔑 6. Gerar JWT Secret

  • Use um gerador online e cole em JWT_SECRET (e JWT_REFRESH_SECRET se quiser separar)

🔁 7. Redis com Upstash

  • Crie conta no Upstash
  • Crie o banco Redis
  • Configure .env:

    • REDIS_HOST
    • REDIS_PORT
    • REDIS_PASSWORD

📷 8. Upload com Cloudflare R2

  • Crie conta no Cloudflare
  • Vá em "R2", crie bucket
  • Gere as credenciais e configure .env:

    • CLOUDFLARE_ACCOUNT_ID
    • CLOUDFLARE_R2_ACCESS_KEY_ID
    • CLOUDFLARE_R2_SECRET_ACCESS_KEY
    • BUCKET_NAME
    • CLOUDFLARE_R2_PUBLIC_URL

🗺️ 9. Google Maps API Key


📤 10. E-mails com Resend

  • Crie conta no Resend
  • Verifique domínio (adicione registros DNS)
  • Crie API Key e adicione ao .env:

    • RESEND_API_KEY
    • EMAIL_FROM
    • EMAIL_PROVIDER=resend

🛰️ 11. Deploy da API no Fly.io

  • Crie conta no Fly.io
  • Instale CLI flyctl
  • Rode flyctl launch e siga as instruções
  • Configure fly.toml e Dockerfile
  • Use flyctl secrets set para as variáveis .env
  • Rode flyctl deploy 🚀

📡 12. Webhooks com Woovi

  • Configure webhook para charge.paid
  • Adicione WEBHOOK_SECRET no Fly.io
  • Teste com simulação na própria Woovi 🔄

🌐 13. Deploy dos Fronts (Cliente e Estabelecimento) na Vercel

  • Use os templates CrazyStack-Client-NextJs e CrazyStack-Estabelecimento-NextJs
  • Configure:

    • NEXT_PUBLIC_API_URL
    • NEXT_PUBLIC_URL
    • NEXT_PUBLIC_WHATSAPP_NUMBER (para Estabelecimento)
    • E outros campos como BUCKET_NAME, MAPS_API_KEY, etc.

🧼 14. Customizando o Front

  • Edite arquivos whitelabel.ts e JSONs de landing pages
  • Troque imagens em public/images
  • Faça commit e push → Vercel redeploya automático ⚙️

🔗 15. Corrigindo Link de Verificação

  • Na API, use CLIENT_APP_URL no .env para montar o link de verificação correto (sem localhost)

🐘 16. Usando PostgreSQL com NeonDB (Opcional)

  • Crie conta em NeonDB
  • Configure string de conexão em DATABASE_URL
  • Rode os scripts SQL para criar tabelas

🏁 Considerações Finais

  • Testa tudo: cadastro, login, agendamento, pagamento, e-mail, etc.
  • Registra domínio personalizado e aponte para a Vercel
  • Bora colocar o sistema no mundo! 🌎🔥

Comments 0 total

    Add comment