ruby on rails - how to build analytic platform on ruby on rails with ease (bahasa indonesia)
TRANSCRIPT
Presentasi EPR
Hi! Nama Saya Andreas Arnol!
Topik yang dipilih?
Bingung
Cemas
Gelisah
Came up with an Idea
Topik Yang Dipilih
HOW TO BUILD ANALYTIC PLATFORM ON RUBY ON RAILS WITH EASE
QUESTION?
Kenapa ambil topik ini?
Analytic?
Why don't we use Google Analytic ?
GEM YANG DIGUNAKAN
AHOY + CHARTKICK + GROUPDATE
BUKAN
Ahoy
Ahoy adalah sebuah analytic gem
https://github.com/ankane/ahoy
Mudah digunakan
Kenapa Menggunakan Ahoy?
Mudah dikostumasi
Support berbagai macam database (PostgreSQL, MySQL, SQLite, MongoDB)
Fitur Cukup Lengkap
Support JSONB untuk versi PostgreSQL 9.4 ke atas
HOW IT WORKS?
VISITS
EVENTS
VISITS
Ketika seseorang mengunjungi website, Ahoy akan mencatat visit
Visit akan dibuat 4 jam sekali (default) semenjak user tersebut mengunjungi website
VISITS SCHEMA
EVENTS
Events untuk mencatat setiap events yang terjadi (click atau page visit)
EVENTS SCHEMA
INSTALASI #1
Masukan baris kode berikut kedalam Gemfile
Gem ahoy_matey
Lalu masukan baris kode berikut pada application.js sesudah //= require jquery
//= require ahoy
INSTALASI #2
POSTGRESQL
Rails 4 + PostgreSQL 9.4
Rails g ahoy:stores:active_record -d postgresql-jsonb
Rails 4 + PostgreSQL 9.3 kebawah
Rails g ahoy:stores:active_record -d postgresql
Rake db:migrate
INSTALASI #3
JAVASCRIPT
Ahoy.track(Buku, { title: Tsubasa Pilek });
Atau track event secara otomatis
Ahoy.trackAll();
RUBY
Ahoy.track Buku, title: Tsubasa Pilek
Some of the features
Kostumasi ?
Rails g ahoy:stores:custom
Tambah Field Baru?
More Information?
https://github.com/ankane/ahoy
Chartkick
Chartkick merupakan sebuah gem untuk membuat chart.
How to use
Tambahkan baris kode ini kedalam Gemfile
gem "chartkick"
Google Chart / High Chart tergantung selera
Google Chart
High Chart
Jenis Jenis Chart dalam Chartkick
Line Chart
Pie Chart
Geo Chart
MORE INFORMATION
https://github.com/ankane/chartkick
Group Date
Mengelompokan data berdasarkan hari, minggu, jam, dan lainnya
Gem groupdate
List Group
Second
Minute
Hour
Week
Month
Year
Etc
User.group_by_day(:created_at).count
User.group_by_week(:created_at).count
CONTOH
MORE INFORMATION
https://github.com/ankane/groupdate
REFERENSI
https://github.com/ankane/groupdate
https://github.com/ankane/chartkick
https://github.com/ankane/ahoy
CONTOH PROGRAM
https://yuksl.herokuapp.com/
ANY QUESTIONS?
THANK YOU!!!