Skip to content

NFTopia-Foundation/nftopia-notifications-service

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

6 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

NFTopia Notifications Service

The NFTopia Notifications Service is an Express.js microservice handling all notification delivery for the NFTopia platform. It supports SMS, email, in-app, and webhook notifications with TypeScript robustness.


๐Ÿ”— API Documentation

View Swagger Docs (Available when running locally)


โœจ Notification Features

  • Multi-Channel Delivery:
    • ๐Ÿ“ง Email (SendGrid/Mailgun)
    • ๐Ÿ“ฑ SMS (Twilio)
    • ๐Ÿ”” In-App (WebSocket)
    • ๐ŸŒ Webhook (Custom endpoints)
  • Template Management: Handlebars templates for consistent messaging
  • Rate Limiting: Protect against notification spam
  • Delivery Tracking: Status webhooks for all notifications

๐Ÿ› ๏ธ Tech Stack

Component Technology
Framework Express.js (TypeScript)
Email Nodemailer + SendGrid
SMS Twilio
WebSockets Socket.io
Queue BullMQ (Redis-backed)
Validation Zod

๐Ÿš€ Quick Start

Prerequisites

  • Node.js v18+
  • Redis (for queues)
  • SMTP credentials (or SendGrid API key)
  • Twilio account (for SMS)

Installation

  1. Clone the repo:
    git clone https://github.com/NFTopia-Foundation/nftopia-notifications-service.git
    cd nftopia-notifications-service
  2. Install dependencies:
    pnpm install
  3. Setup environment:
    cp .env.example .env
  4. Start the service:
    pnpm dev  # http://localhost:9001

๐Ÿค Contributing

  1. Fork the repository
  2. Create your feature branch:
git checkout -b feat/your-feature
  1. Commit changes following Conventional Commits
  2. Push to the branch
  3. Open a Pull Request

About

API for Notifications Management Service

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages