I had my own personal reminder apps for years. This reminder apps is greatly improving my schedule in workings and personal. I use the apps to remind me when to pay rent, when is the meeting held, and so on, day to day.
This is a simple reminder apps simply managing a list of tasks. I can configure a task name, start end time (hhmm format, such as 1000), a reminder text, then enter enabled field as 1 (To enable 1, To disable 0). Then I would configure the system check for the reminder every 10 min. If the current time drop between the start end time, it will simply remind me by sending an Apple APN Notification or Google GCM Notification.
I did built an outbounds call features last year using Freeswitch Outbounds SIP. But it is not user friendly as, I have to open the SIP Phone all the time in order to receive the outbounds call. I wonder why Apple do not have SIP built in into system core, like Samsung Phone.
Since this morning I just figure out to make outbounds calls to landline or cellphone from Freeswitch, therefore I would like to enhance my personal reminder apps with outbounds call feature.
When the time arrive, it will try contact me and announce the reminder text I configure that task.
It is not feasible to call me every 10 min, so I made it to have the task to only call me one time and it will going to sleep after that.
When creating the task, if enter “enabled” as 1, it will perform usual action, notify me via Apple APN. If enter as 2, it will make outbounds call service. After made calls, update back to 0 to disable the task.
In this simple reminder apps system architecture, I greatly adopt microservice style. Each service itself is self-managed (start/stop/status individually), and only do a single task. Then they are able to support other apps if configure the way and the working flow. Like the reminder apps is actually a single service to schedule the tasks, have an admin interface to manage it. Cron job apps is another service to schedule HTTP cron job URL, have an admin interface to manage it, I created Reminder Apps Cron Job to trigger the reminder apps checks. Apple APN is another single service that send APN notification to Apple. Google GCM is another apps is another service to send message to Samsung (Sometimes I closed it when I am not in Malaysia). Today, a new service is created, is for outbounds call web service. Most of the web service I created here, are using Node.JS as server side, and Titanium Mobile (iPhone apps), and all using JavaScript. A little web service are using Java back end. All web services are secured using API Keys and Password Authentication for cross communication.