Pry open qiscus
Transcript of Pry open qiscus
PRY OPEN QISCUS TECHNOLOGYDelta Purna Widyangga Co-Founder of 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)
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 :)[email protected] | @deltawidyangga http://www.qisc.us/e/Techtalkuiiq