A microservice-based Notification Logger built with NestJS and Next.js to send, track, and analyze Email, SMS, and Webhook messages.
- 🚀 Microservice architecture using NestJS
- 🌐 Clean and powerful GraphQL API
- ✉️ Supports Email, SMS, and Webhook notifications
- 📦 Centralized logging using Winston + MongoDB
- 🎯 Extensible via plug-and-play notification providers
- 🧪 Tested with Jest and designed for scalability
- 💻 Lightweight Next.js frontend dashboard
- Node.js ≥ 18.x
- Yarn or npm
- MongoDB
- Docker (optional)
# Clone repo
git clone https://github.com/mostafiz51/notifylog.git && cd notifylog
# Install dependencies
yarn install
# Setup environment
cp .env.example .env
# Fill required variables (Mongo URI, API keys, etc.)
# Start backend
yarn start:dev:api
# Start frontend
yarn start:dev:ui# Build and run containers
docker-compose up --buildEnsure you’ve configured
.envfile correctly before running.
To push the image to Docker Hub (replace mostafiz51/notifylog with your repo):
# Tag image
docker tag notifylog:dev mostafiz51/notifylog:latest
# Login and push
docker login
docker push mostafiz51/notifylog:latestnotifylog/
├── src/
│ ├── config/ # Shared enums/config
│ ├── logger/ # Notification core logic
│ ├── common/ # Common utilities & pipes
│ ├── app.module.ts
│ ├── main.ts
├── ui/ # Next.js frontend dashboard
├── docker-compose.yml
├── .env.example
├── package.jsonmutation SendEmail {
sendNotification(input: {
type: "EMAIL",
to: "example@domain.com",
subject: "Welcome!",
message: "Hello from NotifyLog!"
}) {
success
messageId
}
}yarn test
yarn test:cov- WebSocket real-time log stream
- Retry failed webhooks
- Admin dashboard analytics
- SMTP fallback support
- Mobile-friendly UI
- Fork the repo
- Create branch:
git checkout -b feat/feature-name - Commit:
git commit -am "add: new feature" - Push:
git push origin feat/feature-name - Open PR
Available in .github/ISSUE_TEMPLATE:
- 🐞 Bug Report
- ✨ Feature Request
- 📚 Documentation Update
- 🆕 Good First Issue
MIT License
Thanks to all contributors! 💖
Let me know if you'd like to add Docker Hub badges, auto-publish GitHub Actions, or CI/CD steps!