Uma aplicação web para notificações automatizadas via WhatsApp. O usuário pode cadastrar contatos e grupos e agendar notificações recorrentes (diárias, mensais ou anuais). Além disso, permite a criação de templates de mensagens, facilitando o envio sem precisar redigitar os textos para cada contato.
Ideal para cobranças, mensagens de aniversário, lembretes de eventos e datas comemorativas.
Este projeto é integrado ao Send Messaging API para o envio das mensagens.
Assista ao vídeo mostrando o funcionamento do WPRM Notify:
- Next.js - Framework para aplicações web com React.
- TypeScript - Tipagem estática para melhor manutenção do código.
- PostgreSQL - Banco de dados relacional para armazenar contatos, grupos e notificações.
- Docker - Facilita a execução e implantação do projeto.
- CI/CD Pipeline - Deploy automático configurado (VPS com Coolify e VPS sem painel via SSH).
- Use Cases - Arquitetura baseada em casos de uso para melhor organização do código.
git clone https://github.com/WalissonPires/wprm-notify.git
cd wprm-notify
# Para carregar env vars para o script de migrações
# Ref.: https://github.com/prisma/prisma/issues/1255
npm install -G dotenv-cli
npm install
cp .env.example .env
# Criar uma nova migração
# npm run db-migrate -- --name name-migration
# Aplicar migrações
npm run db-apply
npm run dev# Criar a imagem Docker
docker build -t wprm-notify:latest .
# Rodar o container
docker run -d -p 3001:3000 \
-e DATABASE_URL="postgresql://postgres:masterkey@host.docker.internal:5432/wprm_notify?schema=public" \
-e COOKIE_PRIVATE_KEY="my-cookie-private-key-0123456789" \
-e SEND_MESSAGE_API_URL="http://host.docker.internal:3000/" \
--add-host host.docker.internal:host-gateway \
wprm-notify:latestOs usuários podem cadastrar contatos manualmente ou importar da agenda do celular. Também é possível criar grupos para facilitar o envio de mensagens em massa.
Cada contato pode ter mensagens agendadas para envio diário, mensal ou anual. Também é possível enviar mensagens manualmente para grupos de contatos.
O sistema permite criar templates de mensagens reutilizáveis, facilitando o envio sem necessidade de reescrever os textos.
Além de mensagens de texto, o sistema permite o envio de imagens, vídeos e documentos.
O chatbot responde mensagens recebidas automaticamente, podendo ser utilizado para interações personalizadas.
Suporte para importar contatos da agenda do celular. Basta exportar os contatos do app de agenda e importar para na aplicação.
- Adicionar pesquisa nos modelos de mensagem (Pesquisa por nome e conteúdo)
- Adicionar pesquisa nas notificações (Pesquisa por nome cliente)
- Adicionar filtros nas notificações (Enviadas/Agendadas/Todas), Por grupo, Por modelo mensagem, Por Data Envio
- Adicionar visualização de contatos por grupo
- Agendar notificações para grupos de contatos
