Skip to content

BabiDoo/whatsapp-automation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WhatsApp Automation Engine 🚀

A robust WhatsApp messaging automation system focused on high performance, resilience, and operational control. Built with NestJS, Prisma, and PostgreSQL.

🌟 Key Features

  • Audience Management: Full CRUD for contacts and lists, with CSV import support.

  • Broadcast Campaigns: Create bulk messaging campaigns with progressive, human-like scheduling using configurable delays.

  • Automation Engine (Flows): Build sequential message flows with smart delays between steps.

  • Resilient Dispatch Engine:

    • Background workers for asynchronous processing.
    • Provider abstraction layer (Mock provider and ready support for WPPConnect / Evolution API).
    • Retry system with exponential backoff (1 min → 5 min → 15 min).
  • Full Operational Control:

    • Pause and Cancel: Immediate interruption of dispatches at the database level.
    • Observability: Administrative endpoints to monitor pending, processed, and failed queue items.
    • Audit Trail: Detailed logs for every send attempt (SendLog).

🛠️ Tech Stack

  • Backend: NestJS
  • Database: PostgreSQL + Prisma ORM
  • Validation: class-validator + ValidationPipe
  • Logging: Winston / Nest Logger
  • Scripts: SQL scripts for auditing and test seed data

🚀 Getting Started

Prerequisites

  • Node.js (v18+)
  • Docker (for the database) or a local PostgreSQL instance

Installation

# 1. Install dependencies
npm install

# 2. Set up the environment
cp .env.example .env # Adjust the connection variables

# 3. Start the database (if using Docker)
docker-compose up -d

# 4. Run migrations
npx prisma migrate dev

Run the Project

# Development mode
npm run start:dev

# Production mode
npm run start:prod

📖 Sprint Documentation

Development was divided into incremental phases, documented in the links below:

🧪 Testing

The project includes a ready-to-use requests.http file for the REST Client VSCode extension, with example API calls.

🛡️ License

This project is private and intended for educational and development purposes.

About

Scalable WhatsApp automation platform focused on reliability, operational control, and intelligent message orchestration.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors