Skip to content
DravenDouPublic

About

No description, website, or topics provided.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

WAMAS - Bulk WhatsApp Campaign Platform

License: MIT Node.js TypeScript Next.js NestJS

WAMAS is an open-source MVP for sending bulk WhatsApp campaigns using the Evolution API. The UI is currently in Spanish.

🚀 Built with: Next.js, NestJS, TypeScript, PostgreSQL, Redis, Bull Queue, SheetJS

Features

  • Excel upload and preview (SheetJS)
  • Campaign wizard with phone-column mapping and template variables
  • NestJS API with PostgreSQL and Bull/Redis queue
  • Background worker for personalized message delivery

Repository Structure

WAMAS/
├── backend/          # NestJS API
├── frontend/         # Next.js dashboard
├── .agent/           # Internal AI agent docs
├── docker-compose.yml
├── start-all.ps1     # Windows helper script
├── check-backend.js  # Health check helper
└── README.md

Prerequisites

  • Node.js 18+
  • Docker Desktop (PostgreSQL + Redis)

Quick Start (Windows / PowerShell)

Option A: Helper Script

# Start Docker services and install dependencies when needed
.\start-all.ps1

# Terminal 1 - backend
cd backend
npm run start:dev

# Terminal 2 - frontend
cd frontend
npm run dev

Open: http://localhost:3000/dashboard

Option B: Manual Setup

# From repo root
docker-compose up -d

cd backend
npm install
Copy-Item .env.example .env
npm run start:dev

cd ..\frontend
npm install

Create frontend .env.local:

NEXT_PUBLIC_API_BASE_URL=http://localhost:4000/api

Then run the frontend:

npm run dev

Optional health check:

node check-backend.js

API Endpoints

  • GET /api - Health check
  • POST /api/campaigns/preview - Excel preview
  • POST /api/campaigns - Create campaign
  • GET /api/campaigns - List campaigns
  • GET /api/campaigns/:id - Campaign details

Contributing

We welcome contributions! Please see CONTRIBUTING.md for guidelines.

Quick Contribution Steps

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Commit your changes: git commit -m 'feat: add amazing feature'
  4. Push to the branch: git push origin feature/amazing-feature
  5. Open a Pull Request

Troubleshooting

If you encounter issues, check TROUBLESHOOTING.md for common problems and solutions.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Tech Stack

  • Frontend: Next.js 16 (App Router), React 19, TypeScript, Tailwind CSS, shadcn/ui
  • Backend: NestJS 11, TypeORM, PostgreSQL 15
  • Queue: Bull + Redis 7
  • Excel: SheetJS (xlsx)
  • WhatsApp: Evolution API integration

Made with ❤️ by the open-source community

About

No description, website, or topics provided.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages