0.3.6-alpha.0 โ€ข Published 2 years ago

@notifire/core v0.3.6-alpha.0

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

โœจ Features

  • ๐ŸŒˆ Single API for all messaging providers (Email, SMS, Push, Direct)
  • ๐Ÿ’… Easily manage notification over multiple channels
  • ๐Ÿš€ Equipped with a templating engine for advanced layouts and designs
  • ๐Ÿ›ก Built-in protection for missing variables
  • ๐Ÿ“ฆ Easy to set up and integrate
  • ๐Ÿ›ก Written in TypeScript with predictable static types.
  • ๐Ÿ‘จโ€๐Ÿ’ป Community driven

๐Ÿ“ฆ Install

npm install @notifire/core
yarn add @notifire/core

๐Ÿ”จ Usage

import { Notifire, ChannelTypeEnum } from '@notifire/core';
import { SendgridEmailProvider } from '@notifire/sendgrid';

const notifire = new Notifire();

await notifire.registerProvider(
  new SendgridEmailProvider({
    apiKey: process.env.SENDGRID_API_KEY,
    from: 'sender@mail.com'
  })
);

const passwordResetTemplate = await notifire.registerTemplate({
  id: 'password-reset',
  messages: [
    {
      subject: 'Your password reset request',
      channel: ChannelTypeEnum.EMAIL,
      template: `
          Hi {{firstName}}!
          
          To reset your password click <a href="{{resetLink}}">here.</a>
          
          {{#if organization}}
            <img src="{{organization.logo}}" />
          {{/if}}
      `
    },
  ]
});

await notifire.trigger('<REPLACE_WITH_EVENT_NAME>', {
  $user_id: "<USER IDENTIFIER>",
  $email: "test@email.com",
  firstName: "John",
  lastName: "Doe",
  organization: {
    logo: 'https://evilcorp.com/logo.png'
  }
});

Providers

Notifire provides a single API to manage providers across multiple channels with a single to use interface.

๐Ÿ’Œ Email

๐Ÿ“ž SMS

๐Ÿ“ฑ Push (Coming Soon...)

  • Pushwoosh
  • SNS

๐Ÿ‘‡ Direct (Coming Soon...)

  • Slack
  • MS Teams
  • Discord
  • Mattermost

๐Ÿ“ฑ In-App (Coming Soon...)

  • Notifire
  • MagicBell

Other (Coming Soon...)

  • PagerDuty

๐Ÿ”— Links