Skip to content

Oluwaseyi89/nftopia-notifications-service

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 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

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 99.0%
  • Other 1.0%