メインコンテンツまでスキップ

Notification Adapter

通知アダプタはMongoDBを簡単なドキュメント保存レイヤーとして使用して、システムからユーザに ソケットを使ったリアルタイムの通知機能を実装しています。

機能

  • 通知の送信
    • システム管理者や他のマイクロサービスが、ユーザーに対してメール、SMS、プッシュ通知などの形で通知を送信できます
  • トピックの管理
    • 通知の対象をグループ化するために、トピックを作成・管理できます。例えば、新製品のリリース情報やセール情報など、それぞれの情報に対応するトピックを作成できます
  • サブスクリプションの管理
    • ユーザーが特定のトピックに対してサブスクリプション(購読)を行うことができます。これにより、ユーザーは関心のある情報のみを受け取ることができます
  • 通知履歴の管理
    • 送信された通知の履歴を一覧で確認し、過去の通知を検索・分析できます

インストール手順

  1. 前提条件
パッケージバージョン
node18+
MongoDB5+
Nodeblocks User Service1.1.0+
  1. パッケージをインストール

リポジトリを作成して、このパッケージを追加

mkdir my-notification-service
npx gts init -y
npm install --save @basaldev/blocks-messaging-service

環境関数を設置する必要があります。クイックスタートガイドをサンプルとして参照してください。

  1. コードを導入

src/index.tsに下記を入れてください:

import {
createNodeblocksMessagingApp,
defaultNotification,
} from '@basaldev/blocks-messaging-service';

import { getEnvString } from '../helper/utilities';

async function main() {
const adapter = await defaultNotification.createNotificationDefaultAdapter(
{
authEncSecret: getEnvString('AUTH_ENC_SECRET', ''),
authSignSecret: getEnvString('AUTH_SIGN_SECRET', ''),
sender: 'test',
},
{
db: getEnvString('DATABASE_URL', ''),
mailService: {
sendGridApiKey: getEnvString('SEND_GRID_API_KEY', ''),
},
userAPI: getEnvString('USER_ENDPOINT', ''),
}
);

await createNodeblocksMessagingApp({
corsOrigin: [/.*/],
}).startService({
PORT: Number(getEnvString('NOTIFICATION_PORT', '8081')),
adapter,
env: 'development',
});
}

void main();

API Reference