An open API service indexing awesome lists of open source software.

https://github.com/douglasvolcato/whatsapp-automation-agent

The WhatsApp Automation Agent combines AI language models, web automation, and a robust dashboard to create a flexible automation platform for WhatsApp interactions.
https://github.com/douglasvolcato/whatsapp-automation-agent

bcrypt chatbot chatgpt ejs express jsonwebtoken jwt langchain langchain-js nodejs observability ollama postgresql primereact prometheus react swagger typescript whatsapp whatsapp-bot

Last synced: 3 months ago
JSON representation

The WhatsApp Automation Agent combines AI language models, web automation, and a robust dashboard to create a flexible automation platform for WhatsApp interactions.

Awesome Lists containing this project

README

          

# ๐Ÿค– WhatsApp Automation Agent

> Automate WhatsApp workflows using an LLM-powered agent that understands your domain and business needs.

[![GitHub repo](https://img.shields.io/badge/GitHub-DouglasVolcato/whatsapp--automation--agent-blue?logo=github)](https://github.com/DouglasVolcato/whatsapp-automation-agent)
[![Node.js](https://img.shields.io/badge/Node.js-24.x-green?logo=node.js)](https://nodejs.org/)
[![Postgres](https://img.shields.io/badge/Postgres-17-blue?logo=postgresql)](https://www.postgresql.org/)
[![License](https://img.shields.io/github/license/DouglasVolcato/whatsapp-automation-agent)](LICENSE)

---

## ๐Ÿ“ฆ Project Overview

The WhatsApp Automation Agent combines **AI language models**, **web automation**, and a robust **dashboard** to create a flexible automation platform for WhatsApp interactions.

Features:
- Automate conversations and workflows
- Manage users and sessions via a secure admin dashboard
- Observe system metrics and performance
- Integrate LLM agents and tools tailored to your domain

---

## ๐Ÿงญ Table of Contents

- [๐Ÿงญ Table of Contents](#-table-of-contents)
- [๐Ÿ“ธ App Screenshots](#-app-screenshots)
- [๐Ÿงฉ Architecture Diagrams](#-architecture-diagrams)
- [โš™๏ธ Project Structure](#๏ธ-project-structure)
- [๐Ÿš€ Technologies & Tools](#-technologies--tools)
- [๐Ÿ“ฆ Installation](#-installation)
- [๐Ÿ“„ License](#-license)

---

## ๐Ÿ“ธ App Screenshots

| Login | Dashboard Session | Manage Users |
| -------------------- | ---------------------- | --------------------------- |
| ![](docs/prints/admin_login.png) | ![](docs/prints/dashboard_session.png) | ![](docs/prints/manage_users_session.png) |

| LLM Chat | Metrics Collection | API Documentation (Swagger) |
| -------------------- | ---------------------- | --------------------------- |
| ![](docs/prints/llm_chat.png) | ![](docs/prints/metrics_collection.png) | ![](docs/prints/swagger.png) |

---

## ๐Ÿงฉ Architecture Diagrams

| Application Architecture | Database Design |
| ----------------------- | ---------------- |
| ![](docs/diagrams/app.png) | ![](docs/diagrams/db.png) |

---

## โš™๏ธ Project Structure

```plaintext
docker-compose.yml
.env.example
app
โ”œโ”€ db # SQL migrations
โ”œโ”€ dist # Compiled backend
โ”œโ”€ logs # Logs
โ”œโ”€ src
โ”‚ โ”œโ”€ domain
โ”‚ โ”‚ โ”œโ”€ abstract
โ”‚ โ”‚ โ”œโ”€ controllers
โ”‚ โ”‚ โ”œโ”€ middlewares
โ”‚ โ”‚ โ”œโ”€ usecases
โ”‚ โ”‚ โ””โ”€ utils
โ”‚ โ”œโ”€ ia
โ”‚ โ”‚ โ”œโ”€ abstract
โ”‚ โ”‚ โ”œโ”€ agents
โ”‚ โ”‚ โ””โ”€ tools
โ”‚ โ”œโ”€ infra
โ”‚ โ”‚ โ”œโ”€ database
โ”‚ โ”‚ โ””โ”€ repositories
โ”‚ โ””โ”€ main
โ”‚ โ”œโ”€ abstract
โ”‚ โ”œโ”€ factories
โ”‚ โ”œโ”€ routes
โ”‚ โ”œโ”€ utils
โ”‚ โ””โ”€ index.ts
โ”œโ”€ public
โ”‚ โ”œโ”€ views # EJS templates
โ”‚ โ”œโ”€ files # Static files
โ”‚ โ””โ”€ client # React frontend
โ”‚ โ”œโ”€ dist
โ”‚ โ”œโ”€ public
โ”‚ โ””โ”€ src
โ”‚ โ”œโ”€ app
โ”‚ โ”œโ”€ components
โ”‚ โ”œโ”€ config
โ”‚ โ”œโ”€ contexts
โ”‚ โ”œโ”€ decorators
โ”‚ โ”œโ”€ enums
โ”‚ โ”œโ”€ hooks
โ”‚ โ”œโ”€ stores
โ”‚ โ””โ”€ utils
โ”‚ โ””โ”€ main.tsx
````

---

## ๐Ÿš€ Technologies & Tools

### ๐Ÿ–ฅ Backend

* **Node.js** & **TypeScript**: main runtime and language
* **dotenv**: environment config
* **node-cron**: task scheduling

### ๐Ÿ” Cryptography & Auth

* **bcryptjs**: password hashing
* **jsonwebtoken**: token-based authentication

### ๐Ÿ›ก๏ธ Security

* **helmet**: security headers
* **express-rate-limit**: rate limiting

### ๐Ÿงพ Documentation

* **Swagger**: API documentation
* **Draw\.io**: architecture diagrams

### ๐Ÿ—„ Database

* **Postgres**: relational database
* **SQL optimization**: performance tuning

### ๐Ÿ“Š Observability

* **Prometheus**: metrics collection & monitoring

### ๐Ÿค– WhatsApp Automation

* **puppeteer**: headless browser control
* **whatsapp-web.js**: WhatsApp web automation

### ๐Ÿง  LLM Integration

* **LangChain**: tool orchestration
* **Ollama**, **ChatGPT**: language models
* **zod**: validation & tool format definition

### ๐ŸŒ Frontend

* **React**: SPA dashboard
* **PrimeReact**, **PrimeIcons**, **PrimeFlex**: UI toolkit
* **Chart.js**: data visualization
* **Zustand**: state management
* **Axios**: API communication
* **EJS**: server-rendered templates
* **Static files**: public content

---

## ๐Ÿ“ฆ Installation

```bash
# Clone the repository
git clone https://github.com/DouglasVolcato/whatsapp-automation-agent.git
cd whatsapp-automation-agent

# Copy environment variables template
cp .env.example .env

# Build & run using Docker
docker compose up --build

# Access
# - Server: http://localhost:PORT
# - Client: http://localhost:PORT/client
# - Docs: http://localhost:PORT/docs
```

> ๐Ÿงช Note: Ensure Docker & Docker Compose are installed.

---

## Author

* **Douglas Volcato**: [GitHub](https://github.com/DouglasVolcato)