Skip to content

Saarcasmic/BulkEmailCampaignManager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

✉️ EchoMail: Bulk Email Campaign Manager

🌐 Live Demo »

Full-stack platform to Create → Schedule → Track → Analyze email campaigns with real-time updates & advanced analytics.


🎥 Video Tutorial

screen-capture_Qy31qGm8.mp4

🚀 Features

✨ Built for scale, speed & clarity:

  • 🎯 Campaign Management — Create, edit, schedule, delete campaigns across timezones.
  • 📩 Bulk & Scheduled Sending — Send thousands of emails instantly or schedule with SendGrid.
  • 📈 Real-Time Metrics — Track delivery, opens, clicks, bounces with live updates via Socket.IO.
  • 🌍 Advanced Analytics — Visualize device types and geolocations with interactive graphs.
  • 🧩 Template Management — Reuse branded templates for faster creation.
  • 🛡️ Role-Based Access — Admin/user permissions with JWT-secured endpoints.
  • 📋 Schema-Driven UI — Dynamic forms & tables via JSON schema.
  • 🖼️ Modern UI — Responsive & minimal Material UI layout.
  • 🔄 Live Updates — No refreshes needed. Everything updates in real-time.
  • 🪝 Webhook Tracking — Hook into SendGrid events (delivered, opened, clicked, etc).

🖥️ Tech Stack

Layer Stack
Frontend React (Vite), Material UI, JSONSchema Forms, Recharts, Socket.IO
Backend Node.js, Express, MongoDB (Mongoose), SendGrid, node-cron, Socket.IO
Deployment Vercel (frontend), Render (backend)

🌐 Live Demo

▶️ Try EchoMail now: https://bulk-email-campaign-manager.vercel.app/


⚙️ Getting Started

📦 Prerequisites

  • Node.js v16+
  • MongoDB (Atlas/local)
  • SendGrid account

🔧 Setup

git clone https://github.com/yourusername/EchoMail.git
cd EchoMail


#### 🚀 Backend

```bash
cd backend
cp .env.example .env # Add Mongo URI, JWT secret, SendGrid key
npm install
npm run dev

🎨 Frontend

cd ../frontend
cp .env.example .env # Set VITE_API_URL
npm install
npm run dev

🧪 Access the App


🔐 Environment Variables

Backend (backend/.env)

MONGODB_URI=your_mongo_uri
JWT_SECRET=your_jwt_secret
SENDGRID_API_KEY=your_sendgrid_api_key
FRONTEND_URL=http://localhost:5173
SOCKET_IO_ORIGIN=http://localhost:5173

Frontend (frontend/.env)

VITE_API_URL=http://localhost:5000

☁️ Deployment


📚 Functional Modules

📤 Campaigns

Create, schedule, track real-time status via Socket.IO.

🧠 Analytics

See where and how your campaigns are performing — by country & device type.

🪄 Templates

Speed up your work with editable and reusable email templates.

🧑‍🤝‍🧑 Users

Admins can onboard users and control access levels.

🔐 Auth & Security

Secure every route with JWT, and apply role-based access control.


🤝 Contributing

Have ideas or improvements? We welcome PRs and issue suggestions!

git checkout -b feature/your-feature-name
git commit -m "Add your feature"
git push origin feature/your-feature-name

📄 License

Licensed under the MIT License


🙌 Credits

EchoMail is built with love using:


🛠 Built by Your Name – Passionate about productivity tools, dev infrastructure & intuitive UIs.

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages