Event Assistant app! Yet another way of reinventing the wheel for sending Event notifications.
What this programs MUST do is:
- Reading from a Guest data base , implementing the interface GuestRepository.
- Using the guests to:
- Run validations.
- Sending notifications.
This program keeps a local data base which tracks state of Guest interactions and notifications and/or validations , see more on EventAssistantRepository.
This app is meant to be run using the CLI or an IDE .
You will need :
- Java 17
- A compatible version of Maven installed.
Building the app:
mvn clean install
Run the app
java -jar target/event-assistant-1.0-SNAPSHOT.jar
This app integrates with WhatsApp API to send notifications, the high level mental model for notification sending is :
- To send a notification you need a Template , a Sender and a Receiver.
- Notification templates are predefined in Meta Business platform which can contain text with variables.
- A Sender is a registered Meta phone number to send messages as the "From" entity.
- A Receiver is a phone number who will receive the instance of a Template .
API Reference https://developers.facebook.com/docs/whatsapp/cloud-api/reference/messages
WhatsApp integration allows you to set up a WebHook to process any reply made to your Sender . For this you need to define a WebHook endpoint , this is the purpose of lambda package , which thanks to GitHub actions will deploy the code in index.mjs in an EventAssistantWhatsAppWebhook lambda in AWS.
JE is a general-purpose, transaction-protected, embedded database written in 100% Java (JE makes no JNI calls). As such, it offers the Java developer safe and efficient in-process storage and management of arbitrary data.
It is used to store Guest Tracking info in EventAssistantRepository.
- Add support for language preferences.
- Backup DB
- Integrate with https://jreleaser.org/