Novu
Templates / Project Management

Project Management

Project Management application inspired by Linear, catering to a wide range of users with collaboration features.

Key Features

  • Real-time In-App Notifications: Implements a fully functional in-app inbox mirroring Linear's sleek UI/UX, built with Shadcn UI components.
  • Multi-channel Delivery: Designed to support various notification channels, including in-app, email, and push, ensuring users receive timely updates where they prefer.
  • Flexible Data Modeling: Outlines a robust data model that maps Linear's core entities (Issues, Teams, Users, Projects) to Novu's notification primitives (Subscribers, Topics), enabling highly contextual and targeted notifications.
  • Actionable Notifications: Emphasizes a structured payload design with clear cta (Call-to-Action) properties, allowing users to directly interact with notifications.
  • Advanced Inbox Functionality: Showcases features like:
    • Filtering and Sorting: Organize notifications by read/unread status.
    • Bulk Actions: Mark all as read or archive all notifications efficiently.
    • Context Menus: Provides right-click options for marking as read/unread, archiving, and snoozing.
    • Snooze Functionality: Allows users to temporarily hide notifications for later review.
  • User Preference Management: Includes a UI-only (ready for backend integration) system for users to customize their notification preferences by channel and event type.
  • Scalable Architecture: Leverages Novu's topics and subscribers to create a scalable and flexible notification backbone suitable for growing applications.
  • Comprehensive Event Examples: Provides detailed JSON structures for common Linear-like events (e.g., issue.created, issue.assigned, issue.commented), serving as a guide for triggering notifications.
  • Modular and Maintainable Codebase: Organized into clear components and utility functions, making it easy to understand, extend, and integrate into existing projects.

How it Works

The system integrates Novu's @novu/nextjs and @novu/js SDKs to manage notification delivery. Key concepts include:

  • Subscribers: Each user in the task management tool maps to a Novu subscriber, allowing for personalized notification delivery and preference management.
  • Topics: Linear entities like Issues, Teams, and Projects are represented as Novu topics, enabling efficient broadcast of notifications to relevant groups of users (e.g., all followers of an issue, all members of a team).
  • Triggers: Events within the task management application (e.g., an issue being assigned, a comment being added) trigger Novu workflows, which then process and send notifications to the appropriate subscribers and channels based on their preferences.
  • Payload Structure: A standardized JSON payload ensures that all necessary contextual data is available for rendering rich, informative notifications across different channels (in-app, email, Slack, etc.).

This project serves as an ideal starting point for developers looking to implement a robust and user-friendly notification system that enhances engagement and keeps users informed within their applications.

Check out more