Serverless Azure Functions backend for Esposter. Handles asynchronous workloads triggered by Azure EventGrid events — push notifications, webhook delivery, and friend request notifications.
We highly recommend you take a look at the documentation to level up.
Functions are triggered by Azure EventGrid events published by the main app — they are never called directly via HTTP from the client. Each function handles one async concern:
| Function | Trigger | Description |
|---|---|---|
processPushNotification |
EventGrid | Sends web-push notifications to offline users when a new message is created |
processWebhook |
EventGrid | Delivers outgoing webhook payloads to registered endpoints |
pushWebhook |
EventGrid | Pushes webhook events to Azure WebPubSub for fan-out delivery |
processFriendRequestNotification |
EventGrid | Notifies users of incoming friend requests |
App (createMessage) → Azure EventGrid → processPushNotification
→ processWebhook
→ pushWebhook
@azure/functions — Azure Functions runtime@azure/eventgrid — EventGrid event parsing@azure/web-pubsub — WebPubSub real-time delivery@esposter/db + @esposter/db-schema — database accessweb-push — RFC 8030 web-push deliveryRun from packages/azure-functions/:
pnpm build # compile to dist/
pnpm lint # check
pnpm lint:fix # auto-fix
pnpm typecheck # type check
This project is licensed under the Apache-2.0 license.