Pry open qiscus

Preview:

Citation preview

PRY OPEN QISCUS TECHNOLOGYDelta Purna Widyangga Co-Founder of Qiscus

QISCUS

Messaging to get the work done.

http://qisc.us

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)

QISCUS TECHNOLOGIES

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

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.

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

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.

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:

HEROKU & AWS

DB

Push Notifications

PusherRabbitMQ

Urban AirshipParse

App Back End

App Front End

Angular

Ruby on RailsPostgres

HerokuHeroku HerokuAWS

DEMO

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

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)

TERIMA KASIH :)d@qiscus.com | @deltawidyangga http://www.qisc.us/e/Techtalkuiiq

Recommended