Your Web News in One Place

Help Webnuz

Referal links:

Sign up for GreenGeeks web hosting
April 25, 2023 01:14 pm GMT

Celebrating Novu @ 20k Stars

Not every day do you see a GitHub repo surpassing 20k stars on GitHub. So I'm proud to announce that we are now 20.2k stars as of this writing!

Celebrating 20k Stars

We are incredibly thankful to the developer community for showering Novu with lots of love, feedback, PRs, stars and improvements. They have made Novu a battle-tested and trusted multi-channel notification service for developers worldwide!

Novu is an open-source notification infrastructure built for engineering teams to help them build rich product notification experiences without constantly reinventing the wheel.

Without further ado, I'll reiterate our commitment to ensure you have a fantastic developer experience while testing and integrating Novu into your web apps.

Explore our Demos

We have created a few sample apps that showcase the use of Novu in setting up In-App & email notifications.

Notification center Next.js
https://notification-center-demo.vercel.app

Notification center vue 3
https://novu-notifications-vue3.vercel.app

Notification center - Angular
https://angular-novu.vercel.app

Feel free to explore the code on GitHub.

Faster Integration With Novu SDKs

We have worked hard to ensure developers have a fluent and expressive interface for interacting with Novu's API in the language of their choice.

Novu offers native SDK in the following languages: Go, Node.js, PHP, Ruby, Kotlin, and Python.

Go

import (      "context"      "fmt"      novu "github.com/novuhq/go-novu/lib"      "log"    )subscriberID := "<UNIQUE_SUBSCRIBER_IDENTIFIER>"apiKey := "<NOVU_API_KEY>"eventId := "<NOTIFICATION_TEMPLATE_TRIGGER_ID>"ctx := context.Background()to := map[string]interface{}{  "lastName":     "Doe",  "firstName":    "John",  "subscriberId": subscriberID,  "email":        "[email protected]",}payload := map[string]interface{}{  "name": "Hello World",  "organization": map[string]interface{}{    "logo": "https://happycorp.com/logo.png",  },}data := novu.ITriggerPayloadOptions{To: to, Payload: payload}novuClient := novu.NewAPIClient(apiKey, &novu.Config{})resp, err := novuClient.EventApi.Trigger(ctx, eventId, data)if err != nil {  log.Fatal("novu error", err.Error())  return}fmt.Println(resp)

Go SDK: Triggering a notification to a subscriber

Node.js

  import { Novu } from '@novu/node';const novu = new Novu(process.env.NOVU_API_KEY);await novu.trigger('<NOTIFICATION_TEMPLATE_TRIGGER_ID>',  {    to: {      subscriberId: '<UNIQUE_SUBSCRIBER_IDENTIFIER>',      email: '[email protected]',      firstName: 'John',      lastName: 'Doe',    },    payload: {      name: "Hello World",      organization: {        logo: 'https://happycorp.com/logo.png',      },    },  });

Node SDK: Triggering a notification to a subscriber

PHP

use Novu\SDK\Novu;$novu = new Novu(<NOVU_API_KEY>);$novu->triggerEvent([  'name' => '<NOTIFICATION_TEMPLATE_TRIGGER_ID>',  'payload' => [    'name' => 'Hello World',    'organization' => [            'logo': 'https://happycorp.com/logo.png',        ],  ],  'to' => [      'subscriberId' => '<UNIQUE_SUBSCRIBER_IDENTIFIER>',      'phone' => '07983882186',      'email' => '[email protected]',      'firstName' => 'John',      'lastName'  => 'Doe',  ]]);

PHP SDK: Triggering a notification to a subscriber

Ruby

require 'novu';client = Novu::Client.new('NOVU_API_KEY')body = {  name: "<NOTIFICATION_TEMPLATE_TRIGGER_ID>",  payload: {    name: "Hello World",    organization: {      logo: "https://happycorp.com/logo.png",    },  },  to: {    firstName: "John",    lastName: "Doe",    email: "[email protected]",    phone: "07983882199",  },}.to_jsonclient.trigger_event(body)

Ruby SDK: Triggering a notification to a subscriber

Kotlin

import co.novu.Novuimport co.novu.extensions.subscribersimport co.novu.dto.request.TriggerEventRequestimport co.novu.dto.request.SubscriberRequestfun main() {    val novu = Novu(apiKey = "NOVU_API_KEY")    novu.trigger(TriggerEventRequest.Companion.invoke        (             name = "<NOTIFICATION_TEMPLATE_TRIGGER_ID>",            to = SubscriberRequest(                    subscriberId = "harry_potter"                    firstName = "Harry",                    lastName = "Potter",                    phone = "97X98XX98X1",                    email = "[email protected]",                    loacal = "locale",                    avatar = "avatar",            ),            payload = mapOf("name" to "Hello World")        )    )} 

Kotlin SDK: Triggering a notification to a subscriber

Note: Java apps can use it.

Python

from novu.API import EventApievent_api = EventApi("https://api.novu.co/api/", "<NOVU_API_KEY>")event_api.trigger(    name="<NOTIFICATION_TEMPLATE_TRIGGER_ID>",    recipients="<YOUR_SUBSCRIBER_ID>",    payload={      'name': 'Hello World',      'organization': {        'logo': 'https://happycorp.com/logo.png'      }    },)

Python SDK: Triggering a notification to a subscriber

Novu Notification Center - UI Component

Novu provides a set of UI components to create rich customizable notification center experiences. In addition, you can use our ready-made UI.

It's partially skinnable, i.e. You can customize the UI to an extent.

Novu Notification Center
The Notification Center is available in your favourite frontend frameworks as a component:

Novu Notification Center - Headless

Have you ever pulled in a third-party UI component to discover that you have to tweak the UI a great deal to sync with the design of your app? Sometimes, this can be frustrating.

We understand and decided to ship a new headless library to democratize the notification functionality further.

This version provides users with close to bare-metal, lightweight, renderless software for integrating notifications into their web apps. You can use it in any framework or incorporate it into a vanilla JavaScript app by leveraging the API methods provided.

You can wrap it in whatever UI or design you deem fit in your app!

Conclusion

A popular saying goes: "Don't count the days; make the days count!". It's just Day 1 in our quest to build a world-class notification infrastructure that is robust and powerful yet simple to integrate.

We have many things in store for developers and will keep shipping updates as frequently as possible.

Start using Novu today to manage your notifications & let us know about your experience here in the comment section or on GitHub.

By the way, our 0.14 release is underway. So expect an update on it soon!


Original Link: https://dev.to/novu/celebrating-novu-20k-stars-14dk

Share this article:    Share on Facebook
View Full Article

Dev To

An online community for sharing and discovering great ideas, having debates, and making friends

More About this Source Visit Dev To