Pry open qiscus

14
PRY OPEN QISCUS TECHNOLOGY Delta Purna Widyangga Co-Founder of Qiscus

Transcript of Pry open qiscus

Page 1: Pry open qiscus

PRY OPEN QISCUS TECHNOLOGYDelta Purna Widyangga Co-Founder of Qiscus

Page 2: Pry open qiscus

QISCUS

Messaging to get the work done.

http://qisc.us

Page 3: Pry open qiscus

THE MAKERS

• SG Team: Fatin (Designer), Jon (Growth Hacker) & Sami (Designer)

• Jogja Team: Alam, Rifqi, Benx & Hiraq (Back End), Agus, Yanu & Fikri (Front End), Angga, Oki & Arif (Mobile)

Page 4: Pry open qiscus

QISCUS TECHNOLOGIES

Page 5: Pry open qiscus

RUBY ON RAILSis an open-source web framework that's optimized for programmer happiness and sustainable productivity. It let's you write beautiful code by favoring convention over

configuration (http://rubyonrails.org)

• MVC (Model - View - Controller) pattern

• Kenapa memilih rails:

• Sangat cepat untuk prototyping dan iterasi, tanpa mengurangi reliability.

• Komunitas yang sangat hidup, banyak library yang memudahkan development, dan integrasi ke service lainnya.

• Solid testing framework

Page 6: Pry open qiscus

RUBY ON RAILS• Business logic, general routing, interaksi dengan DB (menggunakan

postgresql)

• Serve API untuk berbagai client app:

• front end (angular app),

• iOS app dan

• Android app

• Mengirimkan data ke berbagai push technology untuk real time dan notifikasi ke berbagai client app tersebut.

Page 7: Pry open qiscus

ANGULAR JSis structural framework for dynamic web apps. It let's you use HTML as your template

language and let's you extend HTML's syntax to express your application's components clearly and succinctly. (http://docs.angular.org/guide/introduction)

• Sebuah client side javascript framework.

• MVVM (Model - View - ViewModel)

• Kenapa memilih angular :

• Kebutuhan dynamic client side javascript yang mudah di maintain.

• Dokumentasi dan komunitas yang bagus

Page 8: Pry open qiscus

ANGULAR JS

• Front end interactivity

• rendering data (dan pushed data) dari back end: room, topic, comment, links, users, files

• client-side routing

• Consume API dari back end, hampir selalu dengan AJAX request

• post comment, add room/topic, upload files dll.

Page 9: Pry open qiscus

PUSH TECHNOLOGY• Salah satu challenge terbesar messaging platform: reliable data secara real time.

• push technology berfungsi utama memastikan hal ini: semua jenis data tersampaikan ke semua listener secara real time.

• Push technology memastikan data tersedia untuk user tanpa membebani client-side app, tetapi di handle oleh dedicated server.

• Qiscus menggunakan beberapa push technology untuk beberapa kebutuhan real time data / notifikasi:

Page 10: Pry open qiscus

HEROKU & AWS

DB

Push Notifications

PusherRabbitMQ

Urban AirshipParse

App Back End

App Front End

Angular

Ruby on RailsPostgres

HerokuHeroku HerokuAWS

Page 11: Pry open qiscus

DEMO

Page 12: Pry open qiscus

QISCUS V.0.0.1• Requirements:

• User bisa post message

• User bisa menerima message dari user lain secara real time

• User bisa melihat semua messages

• Stack: Ruby on Rails, Pusher & Heroku

Page 13: Pry open qiscus

RESOURCES• Rails

• railsforzombies.org (coba juga tryruby.org untuk dasar pemrograman ruby) oleh codeschool (gratis)

• railstutorial.org (ebook gratis) oleh Michael Hartl

• railscasts.com (gratis & premium $9/bulan) oleh Ryan Bates

• Rails Guide dan Rails API (gratis)

• Angular

• angularjs.org (gratis)

• Shaping Up with Angular.js oleh codeschool (gratis)

• http://egghead.io (gratis dan premium $14.99/bulan)

Page 14: Pry open qiscus

TERIMA KASIH :)[email protected] | @deltawidyangga http://www.qisc.us/e/Techtalkuiiq