All Projects → notifo-io → Notifo

notifo-io / Notifo

Multi channel notification service for collaboration tools, e-commerce, news service and more.

Projects that are alternatives of or similar to Notifo

React Email Editor
Drag-n-Drop Email Editor Component for React.js
Stars: ✭ 3,131 (+9684.38%)
Mutual labels:  email-marketing, email
gnome-email-notifications
Gnome Email Notifications
Stars: ✭ 65 (+103.13%)
Mutual labels:  notifications, email
bulk-email-sender
Send Templatized Dynamic Emails Automatically
Stars: ✭ 30 (-6.25%)
Mutual labels:  email, email-marketing
Responsive Html Email Template
A free simple responsive HTML email template
Stars: ✭ 10,831 (+33746.88%)
Mutual labels:  email-marketing, email
Snooze
A package to simplify automating future notifications and reminders in Laravel
Stars: ✭ 515 (+1509.38%)
Mutual labels:  email-marketing, notifications
Html Email Templates
Free HTML Email Templates created using the Postcards - https://designmodo.com/postcards/
Stars: ✭ 178 (+456.25%)
Mutual labels:  email-marketing, email
news-api
Go newsletter API backed by DynamoDB
Stars: ✭ 63 (+96.88%)
Mutual labels:  email, email-marketing
Email Extractor
The main functionality is to extract all the emails from one or several URLs - La funcionalidad principal es extraer todos los correos electrónicos de una o varias Url
Stars: ✭ 81 (+153.13%)
Mutual labels:  email-marketing, email
Paperboy
💌💨 Email Campaign Delivery built with GoLang inspired by GoHugo
Stars: ✭ 411 (+1184.38%)
Mutual labels:  email-marketing, email
Alertmanager
Prometheus Alertmanager
Stars: ✭ 4,574 (+14193.75%)
Mutual labels:  email, notifications
Mosaico
Mosaico - Responsive Email Template Editor
Stars: ✭ 1,392 (+4250%)
Mutual labels:  email-marketing, email
Notify
A dead simple Go library for sending notifications to various messaging services.
Stars: ✭ 727 (+2171.88%)
Mutual labels:  email, notifications
Awesome Emails
✉️ An awesome list of resources to build better emails.
Stars: ✭ 1,379 (+4209.38%)
Mutual labels:  email-marketing, email
Email Dashboard
📪 An interactive emailing management service with scheduling, templating, tracking and A/B testing.
Stars: ✭ 194 (+506.25%)
Mutual labels:  email-marketing, email
Pine
A modular and lightweight, responsive email framework.
Stars: ✭ 98 (+206.25%)
Mutual labels:  email-marketing, email
content-reminder
⏰ A GitHub Action that reminds you to share your own content
Stars: ✭ 28 (-12.5%)
Mutual labels:  notifications, email
Dotmailer Magento2 Extension
The official Engagement Cloud for Magento2 extension
Stars: ✭ 33 (+3.13%)
Mutual labels:  email-marketing, email
Mailerlite Api V2 Php Sdk
Official PHP wrapper for MailerLite HTTP API v2
Stars: ✭ 50 (+56.25%)
Mutual labels:  email-marketing, email
Mjml React
React component library to generate the HTML emails on the fly
Stars: ✭ 257 (+703.13%)
Mutual labels:  email-marketing, email
Angular Ui Notification
Angular.js service providing simple notifications using Bootstrap 3 styles with css transitions for animating
Stars: ✭ 549 (+1615.63%)
Mutual labels:  notifications, bootstrap

Notifo - Notification Service

Build Status Docker Image Version (latest by date)

Try it out at https://app.notifo.io!

Notifo is a multi-channel notification service for collaboration tools, e-commerce, news, magazines and everybody who wants to notify their users.

Notifo Email Templates

Features

  • Powerful and rich REST API with OpenAPI documentation.
  • Management UI to create notification templates, users, subscription, projects, settings and email templates.
  • Email templates with MJML and Liquid Templates.
  • Rich notification with a lot of formatting options like small and large images.
  • Abstraction over multiple channels and providers
    • Emails (currently Amazon SES)
    • Web (Sockets)
    • WebPush (custom built)
    • MobilePush (currently Google Firebase)
    • SMS (currently MessageBird)
  • Reliable through retry mechanisms and message queues for all notifications and channels.
  • Tracking which notification has been read or confirmed.
  • Integrated plugin to add a notification overlay to your web application.

How it works

  • Users subscribe to topics that are defined by a path such as clothes/shoes/nike. It is your job to provide a good UI for that.
  • Backend creates events using very specific topic paths, such as clothes/shoes/nike/<model>.
  • Notifo creates user events based on the matching subscriptions. Subscriptions are either for specific paths or parent paths as in the example above and having individual notification preferences.
  • Queues and schedulers are responsible to send notifications to users when the notification has not been confirmed yet.

This allows a wide range of scenarios:

  • In a task management system you can automatically subscribe users to a project, e.g. project/123 and use a notification preference to only send web notifiations or web push notifications. When a user manually subscribes to a specific task, e.g. project/123/tasks/abc you can create this subscription with a preference to send out emails as well.

  • Notifications can have a confirmation preference (None, Explicit, Seen). Only unconfirmed notifications are sent through a channel and you can configure a delay when sending notifications. This means that a user does not receive a confirmation when he or she has already explicitly confirmed it (Explicit Mode) or has seen it (Seen mode). This avoids to spam your users which notifications he does not need anymore and you can also track who has seen or confirmed urgent and important notifications.

Have a look to the presentation to understand how it works.

How to run it

Before you install it, try it out at https://app.notifo.io

Install it using the docker image

docker images are available: https://hub.docker.com/r/squidex/notifo, you can try the docker-compose file

How to configure it

Have a look to the settings for all configuration options: appSettings.json. Everything in the settings, can be configured using environment variables.

The following setting

"mongoDB": {
    "connectionString": "mongodb://localhost",
},

is mapped to the enviornment variable MONGODB__CONNECTIONSTRING (note the double underscore).

Tech Stack

Notifo uses the following technologies.

Server

  • ASP.NET Core 5 for Multi-Platform Support
  • SignalR for Sockets
  • MongoDB (support for more Databases is planned)
  • Identity Server

Frontend

  • React
  • React Router
  • Formik
  • Redux
  • Typescript
  • Bootstrap with custom Sass and Argon Design Theme.
  • ...many more libraries.

Where is it used?

It was originally developed for Squidex Headless CMS (https://squidex.io), it is also used in a few other commercial applications in a testing stage.

Currently it is still in Beta and some features such as Mobile Push and Emails are not used in production yet.

How to contribute?

There is still a lot to do:

  • Support for other databases (I would prefer https://github.com/sebastienros/yessql)
  • Other Email providers.
  • Other SMS providers.
  • Test application for mobile push (iOS and Android)
  • Hardening scheduling and message queues.
  • Support for clustering of SignalR.
  • More channels (e.g. WhatsApp or Voice).
  • Testing and tests
  • Automated API and UI tests and more tests in general.

More Screenshots

User Management:

User Management

Event Templates:

Event Templates

Media Gallery:

Media Gallery

Debug Log:

Debug Log

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].