Notifyzzz is a Firebase-powered notification management system designed to handle and deliver notifications to users through email (SendGrid), SMS (Twilio), or other channels. It uses Firebase Cloud Functions, Firestore, and Firebase Emulator Suite for local development and testing.
- Send notifications to users
- Store notification history in Firestore
- Background processing and retry mechanism for failed notifications
- Firebase Emulator support for local development
- Easily extendable for email/SMS/Push notifications
- Firebase Functions: Serverless backend
- Firestore: Notification storage
- Pub/Sub: Retry queue
- SendGrid: Email notifications (optional)
- Twilio: SMS notifications (optional)
firebase emulators:startcurl -X POST http://127.0.0.1:5001/notifyzen2003/us-central1/sendNotification \
-H "Content-Type: application/json" \
-d '{
"userId": "user123",
"type": "sms",
"content": "This is a test notification"
}'curl "http://127.0.0.1:5001/notifyzen2003/us-central1/getUserNotifications?userId=user123"Open in browser:
http://localhost:4000
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if true;
}
}
}
Update firebase.json:
"firestore": {
"rules": "firestore.rules"
}Set in functions/.env or Firebase config:
twilio.account_sidtwilio.auth_tokensendgrid.keysendgrid.from_email
If not configured, those notification types will fail gracefully.
Make sure you are logged in and initialized Firebase.
firebase deploy --only functionsstudio/
├── functions/
│ ├── index.js
│ ├── notificationService.js
│ └── ...
├── firestore.rules
├── firebase.json
└── README.md
Shreyan Panda GitHub
This project is licensed under the MIT License.