Convert Figma logo to code with AI

novuhq logonovu

The open-source notification Inbox infrastructure. E-mail, SMS, Push and Slack Integrations.

37,167
4,049
37,167
242

Top Related Projects

💌 Build and send emails using React

24,671

Open-source live-chat, email support, omni-channel desk. An alternative to Intercom, Zendesk, Salesforce Service Cloud etc. 🔥💬

28,165

🦔 PostHog provides open-source web & product analytics, session recording, feature flagging and A/B testing that you can self-host. Get started - free.

Open-source live customer chat

23,017

Simple, open source, lightweight and privacy-friendly web analytics alternative to Google Analytics.

Quick Overview

Novu is an open-source notification infrastructure for developers. It provides a unified API to send notifications across multiple channels like email, SMS, push, and chat. Novu aims to simplify the process of adding multi-channel notifications to applications.

Pros

  • Unified API for multiple notification channels
  • Customizable templates and workflows
  • Supports various providers (e.g., SendGrid, Twilio, Slack)
  • Self-hosted option available for data privacy

Cons

  • Learning curve for complex notification workflows
  • Limited native integrations compared to some commercial solutions
  • Requires setup and maintenance for self-hosted deployments
  • Community support may be less robust than enterprise alternatives

Code Examples

  1. Initializing the Novu client:
import { Novu } from '@novu/node';

const novu = new Novu('<YOUR_API_KEY>');
  1. Sending a simple notification:
await novu.trigger('event-name', {
  to: {
    subscriberId: 'user-id',
    email: 'user@example.com'
  },
  payload: {
    name: 'John Doe',
    message: 'Hello from Novu!'
  }
});
  1. Creating a notification template:
const template = await novu.notificationTemplates.create({
  name: 'Welcome Email',
  description: 'A welcome email for new users',
  notificationGroupId: 'group-id',
  steps: [
    {
      template: {
        type: 'email',
        subject: 'Welcome to our platform!',
        content: 'Hi {{name}}, welcome to our platform!'
      }
    }
  ]
});

Getting Started

  1. Install Novu:

    npm install @novu/node
    
  2. Initialize the Novu client:

    import { Novu } from '@novu/node';
    const novu = new Novu('<YOUR_API_KEY>');
    
  3. Create a notification template in the Novu dashboard or via API.

  4. Trigger a notification:

    await novu.trigger('template-name', {
      to: { subscriberId: 'user-id' },
      payload: { /* your data */ }
    });
    

Competitor Comparisons

💌 Build and send emails using React

Pros of React Email

  • Focused specifically on email template creation using React components
  • Lightweight and easy to integrate into existing React projects
  • Provides a live preview feature for instant visual feedback

Cons of React Email

  • Limited to email template creation, lacking full notification system functionality
  • Smaller community and ecosystem compared to Novu
  • Less comprehensive documentation and fewer integrations

Code Comparison

React Email:

import { Html } from '@react-email/html';
import { Text } from '@react-email/text';

export default function Email() {
  return (
    <Html>
      <Text>Hello World</Text>
    </Html>
  );
}

Novu:

import { Novu } from '@novu/node';

const novu = new Novu('<YOUR_API_KEY>');

await novu.trigger('<TRIGGER_NAME>', {
  to: {
    subscriberId: '<SUBSCRIBER_ID>',
    email: 'john@doemail.com',
  },
  payload: {
    name: 'John Doe',
  },
});

Summary

React Email is a lightweight solution for creating email templates using React components, offering easy integration and live preview. However, it lacks the comprehensive notification system features provided by Novu. Novu offers a more robust platform with multi-channel notifications, workflow management, and a larger ecosystem, but may be more complex to set up and use for simple email template needs.

24,671

Open-source live-chat, email support, omni-channel desk. An alternative to Intercom, Zendesk, Salesforce Service Cloud etc. 🔥💬

Pros of Chatwoot

  • More focused on customer support and live chat functionality
  • Offers a user-friendly interface for managing customer conversations
  • Includes features like canned responses and team collaboration tools

Cons of Chatwoot

  • Limited in scope compared to Novu's broader notification capabilities
  • May require additional integrations for comprehensive multi-channel notifications
  • Less flexibility for developers looking to build custom notification systems

Code Comparison

Chatwoot (Ruby on Rails):

class ConversationsController < ApplicationController
  def create
    @conversation = Current.account.conversations.build(conversation_params)
    @conversation.save!
    render json: @conversation
  end
end

Novu (Node.js):

export async function triggerEvent(data: ITriggerPayload) {
  const { name, to, payload, overrides } = data;
  const event = await getEventByName(name);
  const subscriber = await getSubscriber(to);
  await processSubscriber(event, subscriber, payload, overrides);
}

Both repositories offer open-source solutions for communication and notifications, but they serve different primary purposes. Chatwoot focuses on customer support and live chat, while Novu provides a more comprehensive notification infrastructure. The code examples highlight their different approaches, with Chatwoot using Ruby on Rails for web-based chat functionality and Novu utilizing Node.js for event-driven notifications.

28,165

🦔 PostHog provides open-source web & product analytics, session recording, feature flagging and A/B testing that you can self-host. Get started - free.

Pros of PostHog

  • More comprehensive product analytics suite with features like session recording and feature flags
  • Larger community and more active development (higher star count and commit frequency)
  • Self-hosted option available for better data control and privacy

Cons of PostHog

  • Steeper learning curve due to more complex features and integrations
  • Higher resource requirements for self-hosted deployments
  • May be overkill for projects only needing basic notification functionality

Code Comparison

PostHog (JavaScript snippet for tracking):

posthog.init('<ph_project_api_key>', { api_host: '<ph_instance_address>' })
posthog.capture('my event', { property: 'value' })

Novu (JavaScript snippet for notifications):

import { Novu } from '@novu/node';
const novu = new Novu('<api_key>');
await novu.trigger('<trigger_name>', { to: { subscriberId: '<id>' }, payload: {} });

Both repositories offer valuable tools for developers, but they serve different primary purposes. PostHog focuses on product analytics and user behavior tracking, while Novu specializes in notification infrastructure. The choice between them depends on the specific needs of your project, with PostHog being more suitable for comprehensive analytics and Novu for streamlined notification management.

Open-source live customer chat

Pros of Papercups

  • Focused on customer chat and support, providing a more specialized solution for customer communication
  • Offers a lightweight, easy-to-integrate widget for websites
  • Built with Elixir, which can provide better performance and scalability for certain use cases

Cons of Papercups

  • Limited to chat functionality, lacking the multi-channel notification capabilities of Novu
  • Smaller community and ecosystem compared to Novu's more comprehensive platform
  • Less extensive documentation and integration options

Code Comparison

Papercups (Elixir):

defmodule Papercups.Chat do
  use Ecto.Schema
  import Ecto.Changeset

  schema "chats" do
    field :status, :string
    field :messages, {:array, :map}
    timestamps()
  end
end

Novu (TypeScript):

import { ChannelTypeEnum } from '@novu/shared';

export class Notification {
  constructor(
    public channelType: ChannelTypeEnum,
    public content: string,
    public recipient: string
  ) {}
}

The code snippets highlight the different focus areas of the two projects. Papercups' code relates to chat management, while Novu's code demonstrates its multi-channel notification capabilities.

23,017

Simple, open source, lightweight and privacy-friendly web analytics alternative to Google Analytics.

Pros of Plausible

  • Lightweight and privacy-focused analytics solution
  • Simple setup and easy-to-understand dashboard
  • Open-source with a self-hosted option

Cons of Plausible

  • Limited feature set compared to Novu's comprehensive notification system
  • Focused solely on analytics, lacking multi-channel communication capabilities
  • Smaller community and ecosystem

Code Comparison

Plausible (JavaScript snippet for website integration):

<script defer data-domain="yourdomain.com" src="https://plausible.io/js/plausible.js"></script>

Novu (Node.js example for sending a notification):

import { Novu } from '@novu/node';

const novu = new Novu('<YOUR_API_KEY>');
await novu.trigger('event-name', {
  to: { subscriberId: 'user-id' },
  payload: { name: 'John' }
});

While both projects are open-source, they serve different purposes. Plausible focuses on providing a privacy-friendly analytics solution, while Novu offers a comprehensive notification infrastructure. Plausible's code snippet is simpler due to its specific focus, whereas Novu's example demonstrates its flexibility in sending notifications across various channels. The choice between the two depends on whether you need analytics (Plausible) or a notification system (Novu).

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README


Product Hunt Hacker News NPM npm downloads

The <Inbox /> infrastructure for modern products

The notification platform that turns complex multi-channel delivery into a single component. Built for developers, designed for growth, powered by open source.


Learn More »

Report a bug · Docs · Website · Join our Discord · Roadmap · X · Contact us

⭐️ Why Novu?

Novu provides a unified API that makes it simple to send notifications through multiple channels, including Inbox/In-App, Push, Email, SMS, and Chat. With Novu, you can create custom workflows and define conditions for each channel, ensuring that your notifications are delivered in the most effective way possible.

✨ Features

  • Embeddable Inbox component with real-time support
  • Single API for all messaging providers (Inbox/In-App, Email, SMS, Push, Chat)
  • Digest Engine to combine multiple notification in to a single E-mail
  • No-Code Block Editor for Email
  • Notification Workflow Engine
  • Embeddable user preferences component gives your subscribers control over their notifications
  • Community-driven

🚀 Getting Started

Create a free account and follow the instructions on the dashboard.

📚 Table of contents

Embeddable Inbox component

Using the Novu API and admin panel, you can easily add a real-time notification center to your web app without building it yourself. You can use our React, or build your own via our API and SDK. React native, Vue, and Angular are coming soon.

notification-center-912bb96e009fb3a69bafec23bcde00b0

Read more about how to add a notification center Inbox to your app.

Providers

Novu provides a single API to manage providers across multiple channels with a simple-to-use API and UI interface.

💌 Email

📞 SMS

📱 Push

👇 Chat

📱 In-App

📋 Read Our Code Of Conduct

Before you begin coding and collaborating, please read our Code of Conduct thoroughly to understand the standards (that you are required to adhere to) for community engagement. As part of our open-source community, we hold ourselves and other contributors to a high standard of communication. As a participant and contributor to this project, you agree to abide by our Code of Conduct.

💻 Need Help?

We are more than happy to help you. If you are getting any errors or facing problems while working on this project, join our Discord server and ask for help. We are open to discussing anything related to the project.

🔗 Links

🛡️ License

Novu is a commercial open source company, which means some parts of this open source repository require a commercial license. The concept is called "Open Core," where the core technology is fully open source, licensed under MIT license, and the enterprise code is covered under a commercial license ("/enterprise" Enterprise Edition). Enterprise features are built by the core engineering team of Novu which is hired in full-time.

The following modules and folders are licensed under the enterprise license:

  • enterprise folder at the root of the project and all of their subfolders and modules
  • apps/web/src/ee folder and all of their subfolders and modules
  • apps/dashboard/src/ee folder and all of their subfolders and modules

💪 Thanks to all of our contributors

Thanks a lot for spending your time helping Novu grow. Keep rocking 🥂

Contributors

NPM DownloadsLast 30 Days