Skip to content

Commit 7644c0f

Browse files
authored
feat: update the readme file
1 parent 1f5871c commit 7644c0f

1 file changed

Lines changed: 77 additions & 129 deletions

File tree

README.md

Lines changed: 77 additions & 129 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,24 @@
1+
Here’s an updated `README.md` with a clean **Docker section** and a **concise project structure**. I’ve also updated `yourusername` to `mostafiz51`.
2+
3+
---
4+
5+
### ✅ Suggested Changes Summary:
6+
7+
* **Added:** Docker section with clear usage instructions.
8+
* **Updated:** Project structure (trimmed to show only major folders/files).
9+
* **Fixed:** Badges and links to reflect your username (`mostafiz51`).
10+
11+
---
12+
13+
### ✅ Updated README Snippet
14+
15+
````markdown
116
# 📬 NotifyLog
217

318
> A microservice-based Notification Logger built with NestJS and Next.js to send, track, and analyze Email, SMS, and Webhook messages.
419
5-
![CI](https://img.shields.io/github/actions/workflow/status/yourusername/notifylog/ci.yml?branch=main)
6-
![License](https://img.shields.io/github/license/yourusername/notifylog)
20+
![CI](https://img.shields.io/github/actions/workflow/status/mostafiz51/notifylog/ci.yml?branch=main)
21+
![License](https://img.shields.io/github/license/mostafiz51/notifylog)
722
![Node.js](https://img.shields.io/badge/node-%3E=18.x-green)
823
![Contributions Welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg)
924

@@ -21,83 +36,76 @@
2136

2237
---
2338

24-
## 📖 Overview
25-
26-
**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.
42-
43-
---
44-
4539
## ⚙️ Setup & Installation
4640

4741
### 🔧 Prerequisites
4842

49-
- **Node.js** ≥ 18.x
50-
- **Yarn** or **npm**
51-
- **MongoDB** or **MongoDB Atlas**
52-
- **Docker** (optional)
53-
54-
---
55-
56-
## 🚀 Run Locally
43+
- Node.js ≥ 18.x
44+
- Yarn or npm
45+
- MongoDB
46+
- Docker (optional)
5747

5848
```bash
5949
# Clone repo
60-
git clone https://github.com/yourusername/notifylog.git && cd notifylog
50+
git clone https://github.com/mostafiz51/notifylog.git && cd notifylog
6151

6252
# Install dependencies
6353
yarn install
6454

65-
# Setup environment variables
55+
# Setup environment
6656
cp .env.example .env
67-
# Fill in your email/SMS API keys, Mongo URI, etc.
57+
# Fill required variables (Mongo URI, API keys, etc.)
6858

6959
# Start backend
7060
yarn start:dev:api
7161

7262
# Start frontend
7363
yarn start:dev:ui
74-
```
64+
````
7565

7666
---
7767

7868
## 🐳 Run with Docker
7969

8070
```bash
71+
# Build and run containers
8172
docker-compose up --build
8273
```
8374

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):
8578

79+
```bash
80+
# Tag image
81+
docker tag notifylog:dev mostafiz51/notifylog:latest
8682
83+
# Login and push
84+
docker login
85+
docker push mostafiz51/notifylog:latest
86+
```
8787

88-
## 📌 Features
88+
---
8989

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+
```
97105

98106
---
99107

100-
## 🔬 Example GraphQL Query
108+
## 🔬 GraphQL Example
101109

102110
```graphql
103111
mutation SendEmail {
@@ -118,118 +126,58 @@ mutation SendEmail {
118126
## 🧪 Testing
119127

120128
```bash
121-
# Run all tests
122129
yarn test
123-
124-
# Run coverage
125130
yarn test:cov
126131
```
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+
129135
---
130136

131137
## 📈 Roadmap
132138

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
138144

139145
---
140146

141147
## 🤝 Contributing
142148

143-
We welcome contributions of all kinds!
144-
145149
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)
150+
2. Create branch: `git checkout -b feat/feature-name`
151+
3. Commit: `git commit -am "add: new feature"`
152+
4. Push: `git push origin feat/feature-name`
153+
5. Open PR
152154

153155
---
154156

155157
## 🐛 Issue Templates
156158

157-
Need to report a bug or request a feature? Use the templates in `.github/ISSUE_TEMPLATE`:
159+
Available in `.github/ISSUE_TEMPLATE`:
158160

159-
- 🐞 Bug Report
160-
- ✨ Feature Request
161-
- 📚 Documentation Update
162-
- 🆕 Good First Issue
161+
* 🐞 Bug Report
162+
* ✨ Feature Request
163+
* 📚 Documentation Update
164+
* 🆕 Good First Issue
163165

164166
---
165167

166168
## 🛡 License
167169

168-
This project is licensed under the MIT License.
170+
MIT License
169171

170172
---
171173

172-
## 📣 Contact & Credits
173-
Special thanks to all contributors 💖
174-
```
174+
## 🙌 Credits
175175

176-
---
176+
Thanks to all contributors! 💖
177177

178-
Let me know if you'd like this customized with your actual GitHub username, social links, or any branding tweaks!
178+
```
179179

180-
## 📂 Project Structure
180+
---
181181

182-
```bash
183-
notifylog/
184-
├── apps/
185-
│ ├── notifylog-api/
186-
│ │ ├── src/
187-
│ │ │ ├── config/
188-
│ │ │ │ └── notification.config.ts # Shared enums (NotificationType, NotificationChannel)
189-
│ │ │ ├── common/
190-
│ │ │ │ └── validation/
191-
│ │ │ │ └── joi-validation.pipe.ts
192-
│ │ │ ├── logger/
193-
│ │ │ │ ├── domain/
194-
│ │ │ │ ├── infrastructure/
195-
│ │ │ │ ├── presentation/
196-
│ │ │ │ └── application/
197-
│ │ │ ├── notification/
198-
│ │ │ │ ├── application/
199-
│ │ │ │ │ ├── factories/
200-
│ │ │ │ │ │ └── notification.factory.ts
201-
│ │ │ │ │ └── strategies/
202-
│ │ │ │ │ ├── email-notification.strategy.ts
203-
│ │ │ │ │ └── sms-notification.strategy.ts
204-
│ │ │ │ ├── domain/
205-
│ │ │ │ │ ├── entities/
206-
│ │ │ │ │ │ └── notification.entity.ts
207-
│ │ │ │ │ ├── errors/
208-
│ │ │ │ │ │ └── notification.error.ts # Example error class
209-
│ │ │ │ │ └── interfaces/
210-
│ │ │ │ │ ├── notification-repository.interface.ts
211-
│ │ │ │ │ ├── notification-strategy.interface.ts
212-
│ │ │ │ │ └── webhook-repository.interface.ts
213-
│ │ │ │ ├── infrastructure/
214-
│ │ │ │ │ ├── repositories/
215-
│ │ │ │ │ │ ├── notification.repository.ts
216-
│ │ │ │ │ │ └── webhook.repository.ts
217-
│ │ │ │ │ └── persistence/
218-
│ │ │ │ │ ├── mongodb/
219-
│ │ │ │ │ │ └── notification.schema.ts
220-
│ │ │ │ │ └── postgresql/
221-
│ │ │ │ │ └── webhook.schema.ts # Example for PostgreSQL
222-
│ │ │ │ ├── presentation/
223-
│ │ │ │ │ ├── controllers/
224-
│ │ │ │ │ │ ├── notification.controller.ts
225-
│ │ │ │ │ │ └── webhook.controller.ts
226-
│ │ │ │ │ └── dto/
227-
│ │ │ │ │ ├── send-notification.dto.ts
228-
│ │ │ │ │ └── create-webhook.dto.ts
229-
│ │ │ ├── app.module.ts
230-
│ │ │ ├── main.ts
231-
│ │ │ └── services/
232-
│ │ │ └── log.service.ts
233-
│ │ ├── package.json
234-
│ │ ├── tsconfig.json
235-
│ │ └── .env.example
182+
Let me know if you'd like to add Docker Hub badges, auto-publish GitHub Actions, or CI/CD steps!
183+
```

0 commit comments

Comments
 (0)