Skip to main content

Local Dev Setup

:::info Source Sourced from services/notification-service/LOCAL_DEV_SETUP.md in the documentation repo. :::

1. Prerequisites

Node 20, pnpm 9, Docker 24.

2. Quick Start

cd services/notification-service
cp .env.example .env.local
pnpm install
docker compose -f docker-compose.dev.yml up -d
pnpm db:migrate
pnpm seed
pnpm dev # :3130
pnpm dev:dispatcher

3. Dependencies

postgres, redis, nats, mailhog (email capture), sms-mock, push-mock, ai-gateway-mock.

4. Environment

PORT=3130
DATABASE_URL=postgres://notif:notif@localhost:5432/notif
REDIS_URL=redis://localhost:6379/130
NATS_URL=nats://localhost:4222
NATS_STREAM=NOTIFICATION

EMAIL_PROVIDER_URL=http://localhost:1025 # MailHog SMTP
SMS_PROVIDER_URL=http://localhost:3131 # sms-mock
PUSH_PROVIDER_URL=http://localhost:3132 # push-mock

AI_GATEWAY_URL=http://localhost:3020

DISPATCHER_CONCURRENCY=10
TEMPLATE_CACHE_TTL_S=300

5. Seed

  • 10 templates (welcome, password reset, enrollment, certificate, etc.).
  • User preferences for seeded users.
  • 5 notifications in various states.

6. Commands

pnpm dev
pnpm test
pnpm test:integration
pnpm template:render <key> --vars '{...}'
pnpm notif:send-sim --user ... --template welcome
pnpm digest:run