This is a parent project for three separate apps:
- A webhooks API
- A sendgrid-worker
- A survey-worker
This API handles the collection and management of Outcomes from several external sources (like Sendgrid to collect email stats, and our custom Survey implementation for collecting results). Outcomes are currently consumed by CoreIQ's DataAppends service to use the Outcomes locally.
When it gets a POST request, it creates an AMQP message out of it and queues it in RabbitMQ to be later processed.
npm run db-setupto build the necessary Postgres tables & functions.
npm run db-dropto drop all Postgres tables & functions.
This worker app consumes a Rabbit queue (in particular, "SendGrid Stats") and turns queued messages into meaningful records in the database.
This worker app consumes a Rabbit queue (in particular, "Onovative Surveys") and turns queued messages into meaningful records in the database. Customized for our own implementation of Surveys, which uses Survey.js