A full-stack CRM application for lead management and email campaign automation, built with Next.js, Node.js/Express and MongoDB.
- Lead management — create, filter, search and track leads through a pipeline
- Email campaigns — send and schedule campaigns via Brevo API
- Sequence automation — automated multi-step email sequences with background workers
- Templates — reusable email templates with dynamic variables and file attachments
- CSV import/export — bulk lead import and export
- Campaign history — full tracking of sent campaigns and email events via webhooks
- Authentication — JWT-based auth with role-based access control (RBAC)
Frontend
- Next.js 16 (App Router) · TypeScript · Tailwind CSS · Framer Motion · Recharts
Backend
- Node.js / Express 5 · MongoDB / Mongoose · JWT auth · Brevo API · Multer
- Node.js 18+
- MongoDB Atlas account (or local MongoDB)
- Brevo account for email delivery
git clone https://github.com/Sivva2/crmind.git
cd crmind
npm installCreate a .env file at the root:
MONGODB_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret
BREVO_API_KEY=your_brevo_api_key
PORT=5000npm run devStarts the Next.js frontend (port 3000) and Express backend (port 5000) concurrently.
crmind/
├── src/
│ ├── app/ # Next.js App Router pages
│ ├── components/ # Reusable UI components
│ ├── contexts/ # React contexts
│ ├── lib/ # API client utilities
│ └── types/ # Shared TypeScript types
└── server/
└── src/
├── controllers/ # Route handlers
├── models/ # Mongoose models
├── routes/ # Express routes
├── services/ # Business logic
├── middleware/ # Auth middleware
├── workers/ # Background workers (sequences)
└── config/ # DB and storage config
MIT