You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
**NotifyLog** is a robust, plug-and-play Node.js-based notification microservice designed to handle multi-channel communication like Email, SMS, and Webhooks, all with centralized logging and GraphQL API support. Built using **NestJS** and **Next.js**, it follows clean architecture principles and is deployable in a distributed, containerized environment.
27
-
28
-
Use NotifyLog as:
29
-
- A backend service for sending and tracking messages
30
-
- A standalone logger for notification events
31
-
- An integration-ready module in any SaaS or enterprise app
32
-
33
-
---
34
-
Sure! Here's a clean and properly formatted `README.md` file that includes all the content you provided:
35
-
36
-
---
37
-
38
-
```markdown
39
-
# NotifyLog 🚨
40
-
41
-
A notification management system with logging, monitoring, and multi-channel delivery support.
# Fill in your email/SMS API keys, Mongo URI, etc.
57
+
# Fill required variables (Mongo URI, API keys, etc.)
68
58
69
59
# Start backend
70
60
yarn start:dev:api
71
61
72
62
# Start frontend
73
63
yarn start:dev:ui
74
-
```
64
+
````
75
65
76
66
---
77
67
78
68
## 🐳 Run with Docker
79
69
80
70
```bash
71
+
# Build and run containers
81
72
docker-compose up --build
82
73
```
83
74
84
-
---
75
+
> Ensure you’ve configured `.env` file correctly before running.
76
+
77
+
To push the image to Docker Hub (replace `mostafiz51/notifylog` with your repo):
85
78
79
+
```bash
80
+
# Tag image
81
+
docker tag notifylog:dev mostafiz51/notifylog:latest
86
82
83
+
# Login and push
84
+
docker login
85
+
docker push mostafiz51/notifylog:latest
86
+
```
87
87
88
-
## 📌 Features
88
+
---
89
89
90
-
✅ GraphQL API to manage notifications, logs, and subscriptions
91
-
📧 Email Module (send emails using SendGrid/Mailgun)
92
-
📲 SMS Module (Twilio integration)
93
-
🔔 Webhook Support (event-based triggers to external services)
94
-
📝 MongoDB Logging with Winston (request/response/errors)
95
-
🧩 Extensible Providers (add your own integrations easily)
96
-
💻 Next.js UI for monitoring and manual message dispatch
90
+
## 📂 Project Structure (Simplified)
91
+
92
+
```bash
93
+
notifylog/
94
+
├── src/
95
+
│ ├── config/ # Shared enums/config
96
+
│ ├── logger/ # Notification core logic
97
+
│ ├── common/ # Common utilities & pipes
98
+
│ ├── app.module.ts
99
+
│ ├── main.ts
100
+
├── ui/ # Next.js frontend dashboard
101
+
├── docker-compose.yml
102
+
├── .env.example
103
+
├── package.json
104
+
```
97
105
98
106
---
99
107
100
-
## 🔬 Example GraphQL Query
108
+
## 🔬 GraphQL Example
101
109
102
110
```graphql
103
111
mutation SendEmail {
@@ -118,118 +126,58 @@ mutation SendEmail {
118
126
## 🧪 Testing
119
127
120
128
```bash
121
-
# Run all tests
122
129
yarn test
123
-
124
-
# Run coverage
125
130
yarn test:cov
126
131
```
127
-
### Test Result
128
-
-**[NotifyLog](https://github.com/sourcecode71/NotifyLog)**: Notification service built with NestJS. View my [Jest Test Report](https://sourcecode71.github.io/NotifyLog) for automated test results!
132
+
133
+
🧪 [View Jest Test Report](https://sourcecode71.github.io/NotifyLog)
134
+
129
135
---
130
136
131
137
## 📈 Roadmap
132
138
133
-
- WebSocket-based real-time logs
134
-
- Retry strategy for failed webhook calls
135
-
- Admin dashboard analytics
136
-
- SMTP transport fallback
137
-
- Mobile-friendly UI
139
+
* WebSocket real-time log stream
140
+
* Retry failed webhooks
141
+
* Admin dashboard analytics
142
+
* SMTP fallback support
143
+
* Mobile-friendly UI
138
144
139
145
---
140
146
141
147
## 🤝 Contributing
142
148
143
-
We welcome contributions of all kinds!
144
-
145
149
1. Fork the repo
146
-
2. Create your feature branch: `git checkout -b feat/amazing-feature`
147
-
3. Commit your changes: `git commit -am 'Add amazing feature'`
148
-
4. Push to the branch: `git push origin feat/amazing-feature`
149
-
5. Open a pull request
150
-
151
-
For more info, see [CONTRIBUTING.md](CONTRIBUTING.md)
0 commit comments