Checking the collective wisdom for ways of improvement.
- What's your solution?
- How do you treat read notifications?
- Do you use email and mobile notifications?
I use raw Firestore. I created a notifications collection with user documents that restricts access only to the user using the Firestore policies.
In view I created a "notification center" where all notifications are gathered.
On the backend I built several notification types. I send the relevant type to Firestore using the admin SDK, saved under the relevant receiving user. There's also a sender field. The whole thing is being managed by an internal notification service.
type CoLearnRequestNotification struct {
ID string `json:"ID"`
ActionID string `firestore:"actionID" json:"actionID"`
Type string `firestore:"type" json:"type"`
CreatedAt string `firestore:"createdAt" json:"createdAt"`
Requester User `firestore:"requester" json:"requester"`
Read bool `firestore:"read" json:"read"`
}
On the front-end I use a Firestore listener. I use VueFire and VuexFire since I'm on VueJS. I store them in the Vuex store.
In order for a notification to be considered as "read", the user has to click an "x" button and remove it from the notification gadget.
Email: Currently building an internal email service. Mobile: we don't have a mobile app... yet.
Top comments (4)
Hi! I use Telegram since that allows the user to reply and interact with my web app.
Your app is a mobile app? If so, do you collect your users' numbers upon registration?
I was referring to in app notifications and not push notifications. So it could be notifications about your post that received a feedback or someone inviting you to a video session.
I'm not sure there's a use case for them replying back to the "system" for this type of notifications.
I should probably rephrase my title as "How would implement an internal notification system?"
Oh... Ok, I think I misunderstood the subject! :)
Mine is a web app, mobile users access it via their regular web browser, I use Telegram to send them push notifications and they can reply to it via Telegram.
Nice setup! Can't help me here, but definitely gives me food for thought for implementing push notifications.