SMS Notification Service
An SMS notification service for Time Safari that handles phone number verification and scheduled SMS notifications (daily reminders, activity digests). It authenticates users by forwarding JWTs to an endorser-ch server, stores verified phone numbers and notification preferences in SQLite, and sends messages via Twilio.
Prerequisites
- Deno v2+
- A Twilio account (optional for development — falls back to console logging)
Setup
cp .env.example .env
# Edit .env with your configuration
Run
# Development (auto-reload)
deno task dev
# Production
deno task start
Test
deno task check # Type-check
deno task test # Run tests
Deploy
The service is a single Deno process with a SQLite database file. To deploy:
- Copy the project to your server
- Set environment variables (see
.env.example) - Run
deno task start
For process management, use systemd, Docker, or Deno Deploy.
The SQLite database is created automatically on first run and migrations are applied on startup.
Description