Building a Culture of Open-Source Software: Notifier by SFL

SFL
SFL Newsroom
Published in
2 min readOct 9, 2019
Hayk :)

Before we tell you about this open-source project we did recently, let’s first talk about open-source software (OSS) in general.

OSS is a type of computer software in which the copyright holder grants users the rights to study, change, and distribute the software to anyone and for any purpose. Open-source software is a great example of open collaboration.

When open-source projects get bigger, their communities can end up splitting into different groups that move towards different directions. This process is known as forking.

Open-source software can be a great alternative to paid programs without necessarily sacrificing the features. And the good news is that you can customize the software to suit you.

Here at SFL, we try to establish a culture of building open-source software. The notifier is an example of such an open-source project.

The notifications microservice is an independently deployable component intended for sending various types of notifications. It provides a common abstraction layer on top of various notification services and the actual sending and tracking routines.

It’s not something huge or ground-breaking, but it’s something helpful which one can use for both customer communication and internal communication.

Why do we need this?

  • Unified code/API for sending all types of notifications (No need to research how each notification service works)
  • No need to implement the logic of saving the state of notifications per project
  • Magnificent support for Armenian SMS providers (gained through sending a cake to representatives)
  • Plugable mechanism for new notification services
  • Unified templating
  • Possibility to analyze/query data for sent notifications
  • Single implementation for all cross-cutting concerns (logging, retry mechanism, etc.)

Supported notification types

Email Notifications are supported. With Freemarker templating and I18n. In case the provider supports templating it can be used as well:

  • SMTP
  • MailChimp / Mandrill

SMS Notifications are supported. With Freemarker templating and I18n:

  • paradox.am
  • nikita.am
  • Twilio

Push Notifications are also supported. With Freemarker templating and I18n:

  • Firebase
  • AmazonSNS

Security

We make it possible to conduct integration with any OAuth2 service to enable global or per notification template permission checking. For configuration details, ask Hayk.

Contributors:

Ruben Dilanyan, Ruben Vardanyan, Hayk Mkrtchyan, Yervand Aghababyan, Davit Harutyunyan.

Check out the full presentation about the project.

Check out on GitHub.

--

--