Notification System Proposal
Proposal A: Twilio Sendgrid Email API:
- Using twilio sendgrid allows us to use the API to send 100 emails/day
- This should be sufficient for our projectโs purpose
- Cost is $0/month
- https://sendgrid.com/pricing/
Pros:
- Easy to integrate API
- Price is free
- Scalable solution if we want to go further with the project by changing account type to a different plan
Cons:
- We wont have a dedicated IP for now. Can be made available by upgrading plan in the future
- We must consider whether email is the best notification way?
- Adding in that API dependency
Proposal B: Nodemailer library:
- If we use nodemailer library, it is unlimited emails
- No limit would be nice, might actually be easier to in
- https://nodemailer.com/about/
Pros:
- No fees
- Unlimited emails a month
- Easiest integration
Cons:
- Less customizable emails then twilioโs API service
- We must consider whether email is the best notification way?
Proposal C: Twilio SMS API:
- We can send text notifications
- Two pricing plans:
- One if sending just text
- One with sending pic with text
- https://www.twilio.com/sms
Pros:
- Everyone has their phoneโs on them
- Is this better then sending with email though?
- Easy to integrate with API
- Scalable
Cons:
- Pay as u go
- 0.0079 USD for local to send text
- 0.02 USD to send image local
- Adding in that API dependency
Table 1 โ Weighted Decision Matrix
Proposed Designs | |||||||
SendGrid API | Nodemailer library | Twilio SMS | |||||
Criteria | Weight | Rank | Score | Rank | Score | Rank | Score |
Integration Complexity | 0.4 | 2 | 0.8 | 1 | 0.4 | 3 | 1.2 |
Cost | 0.2 | 2 | 0.4 | 1 | 0.2 | 3 | 0.6 |
Scalability | 0.3 | 2 | 0.6 | 3 | 0.9 | 1 | 0.3 |
Notification friendly | 0.1 | 2 | 0.2 | 3 | 0.3 | 1 | 0.1 |
Total | 1 | 2.0 | 1.8 | 2.2 |
The lowest score is considered the most optimal which is depicted by integrating the NodeMailer library.