Satchel is a native iOS and Android application that allows organisations (ie. schools, parishes, small communities, etc) to send notifications, newsletters and general information to their users.
Satchel allows it’s content to integrate seamlessly into your device – meaning that Satchel Events integrate into your phone calendar and Satchel Contacts integrate into your address book, if you allow them to.
Satchel allowed for various different types of content to be transmitted to it’s users. These include: Events, Newsletters, News Articles, Notifications, Web Links, Important Contacts and the School Contact.
Both iOS and Android applications are native, written in Swift 3 and Java respectively.
The server side application (CMS and API) is written in Laravel 4.
All the content provided by the organisations is provided via a CMS, which is then fed to the applications via a REST API, using the JSON format to transmit the data.
The infrastructure leverages AWS Elastic Beanstalk, using S3, RDS, and EC2 instances to host the server application. A load balancer instance is used with an AutoScaling group to ensure that the infrastructure is scalable and propagates or terminates EC2 instances depending on the incoming traffic.