Application for notifying about free seats in popular restaurants. Uses telegram to send notifications.
- Actual logic to check for seats and send notifications accordingly
- Format sent telegram messages nicely
- CI Pipeline to delpoy as scheduled Azure Function
- Terraform to manage infrastructure
- Combine multiple free seats together in one message
- Persist sent notications about seats so notification about the same seat wont be sent multiple times
- Support adding new alerts via Telegram bot API?
- New integrations
The application could be run locally either using SBT or Azure Functions Core Tools. Both approaches require Telegram configuration in order to send notifications.
- Create
.env
file to the root folder of the project and add the following configuration in ittelegram_chatId=<chat-id> telegram_token=<token>
- Start SBT and run
run
command
-
Start local blob storage emulator by running
docker-compose up
-
Package the project into a jar file by running
sbt assembly
-
Navigate to
azure-functions
folder -
Create configuration file
local.settings.json
and add the following configuration:{ "IsEncrypted": false, "Values": { "AzureWebJobsStorage": "DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;", "FUNCTIONS_WORKER_RUNTIME": "java", "telegram_chatId": "<chat-id>", "telegram_token": "<token>" } }
-
Run
func start