Mr.Mykonos – B2C Twilio Programmable Chat App

Introduction

  • Client wanted Mr.Mykonos to be B2C Mobile Chat Application in Native Android & iOS
  • Chat communication between Web Admin and Mobile App.
  • Client wanted Twilio sdk to be used for chat application
  • Web Admin panel to add new users and CRUD Operations
  • While the client had conceptualized the application quite well they lacked the technical skills, or a technology partner, to convert the concept into a robust architecture and a functioning system.

Objectives

Mr.Mykonos System to be build had these objectives

  • Development has to be thought on two aspects backend system and frontend system
  • Backend to be integral part of system as it will hold entire user data and operations of application.
  • Provide the ability to create admin users and new customers with editable fields of Location, Email Address, Trip Info, Reservations and Password.
  • Integration of Twilio Programmable Chat SDK and API’s

Challenges

Architecting and designing this system was challenging because of these considerations

  • Rails 5 are relatively very new and syntax has changed a lot from rails 4 to rails 5. Most documentation is available for previous rails version and not the latest version.
  • Twilio documentation is fast evolving. SDK documentation underwent changes even during the course of project.
  • Many example codes available for Twilio used older sdk versions and hence not compatible with latest SDK version.
  • Twilio documentation is confusing specifically regarding push notifications for chat.
  • Many example code available for Twilio used older sdk versions and hence not compatible with latest SDK version

Solution

  • Cloud based development using Ruby on Rails with Postgre backend database with Native iOS and Android applications.
  • Development over Rail 2.5.0 helps web GUI applications, Desktop GUI applications and is excellent for Numerical, Statistical processing programs.
  • Integrating Twilio Chat SDK for Android and iOS, along with a server side REST API
  • Adding advanced features like typing indicators, reachability indicators, and roles & permission.

Technology Stack

The backend system was built on Ruby on Rails and third party libraries.

  • Ruby version 2.5.0
  • Postgre SQL
  • Twilio SDK
  • Swift
  • AWS EC2