Skip to content

AtlasOfLivingAustralia/alerts

Repository files navigation

ALA Alerts

This is a small app responsible for sending email alerts when there are changes detected to endpoint web services (subscriptions).

Scheduling is handled by Quartz plugin in the app. It works like RSS - it checks the JSON service and reads the results and then compares that with the previously stored check and if there are new records, it triggers an email. Relies on records being sorted by date loaded. Works with any endpoint that can return date-sorted JSON output.

Build status

Build Status

Dev environment set up

Recommend:

Go folder ./docker, run docker-compose up

Docker-compose runs MySql 8.1 on 3306, smtp4dev on 3000, 2525

Alternative, you can install your own environment

What the docker-compose does:

  1. Install MySql
  2. Log in as root
  3. create user 'alerts_user'@'localhost' identified as 'alerts_user';
  4. grant all privileges on *.* to 'alerts_user'@'localhost';
  5. create database alerts
  6. Create /data/alerts/config/alerts-config.properties
  7. Use the template in ala-install to get the necessary values

To check email sending on local dev environment

Run smtp4dev via Docker:

docker run -p 3000:80 -p 2525:25 -d --name smtpdev rnwood/smtp4dev

Emails will be sent on SMTP port 2525 (configure sending emails via mail.enabled=true, grails.mail.port=2525 and grails.mail.server=localhost. Note: emails will not be delivered externally so you don't have to worry about spamming users.

You can view all sent emails via the smtp4dev UI on http://localhost:3000/, inlcuding HTML emails which are nicely displayed.

4.2.0 Release

Change logs DB schema update: ALTER TABLE alerts.query_result MODIFY logs TEXT NULL;

4.2.0 Release

No DB changes

4.3.1 Release

Apply new templates for alerts

Change logs

Database update: Check RELEASE.MD for the queries to run