Kamis, 31 Agustus 2017

Cara Membuat Login Dengan Gem Devise

Apa Itu Devise?

Devise adalah gem service yang dibuat untuk membuat login logout suatu aplikasi menjadi lebih mudah.

1.Buka terminal, buat project baru
$ rails new devise
$ rake db:create
2. Tambahkan gem devise pada gemfile
 gem 'devise'
3.Terminal jalankan command ini:
$ bundle install
$ rails generate devise:install
4.Buat model user menggunakan devise:
$ rails generate devise User
5.Lalu jalankan command migrate
$ rake db:migrate
6.Buat view session & registrasi devise dengan command ini:
$ rails generate devise:views users
7.Buat controller user devise dengan command ini:
$ rails generate devise:controllers users
8.Konfigurasi routes dan tambahkan kode dibawah ini:
 #config/routes.rb
  devise_for :users, controllers: { sessions: 'users/sessions' }   
  devise_scope :user do
    get 'sign_in', to: 'devise/sessions#new'
    get '/users/sign_out' => 'devise/sessions#destroy'
  end
  resources :homes
  root to: 'homes#index'
9.Buat controllers home diterminal jalankan command ini:
$ rails g controller homes
ketikan kode dibawah ini pada folder controllers
 #controllers/homes_controller.rb
  class HomesController < ActionController::Base
    before_action :authenticate_user!
    def index
    end
  end
buat file homes pada folder views lalu tambahkan file index.html.erb


 #views/homes/index.html.erb
 <h3>Hello World</h3>
 <%= link_to "Logout", destroy_user_session_path, method: :delete, :class => 'navbar-link'  %>
10.Jalankan server
$ rails s
11.Klik link berikut ini untuk Sign Up

kurang lebih hasilnya akan seperti ini:

form sign up:

form login:


untuk selebihnya mengenai gem devise bisa klik link dibawah ini:


selamat mencoba & happy coding :)
ersad@doterb.com | Web Developer at doterb solution

Rabu, 30 Agustus 2017

Setup SMTP Dengan Gem Figaro



Setup SMTP Dengan Gem Figaro

Apa itu figaro?
Figaro adalah gem pada ruby on rails yang digunakan untuk menyembunyikan nilai di environment dan membuat aplikasi lebih aman.

Seberapa penting figaro?
Tentu sangat penting, dikarenakan banyak kasus mengupload password  ke repository github secara public, contoh kasus:commit remove password.
Agar aplikasi kita lebih aman dan tidak seperti kasus diatas alangkah baiknya untuk menggunakan gem figaro ini, agar file application.yml otomatis tidak akan terupload ke repository.

Install Figaro


1.Buat project baru
$ rails new figaro
2.Lalu tambahkan gem figaro pada gemfile
 gem 'figaro'
3.Jalankan commend dibawah ini untuk install figaro
$ bundle exec figaro install
4.Buka folder aplikasi & masukan kode dibawah ini pada file figaro/config/application.yml

disini kita bisa setting smtp dll.
saya akan contohkan untuk setting smtp menggunakan figaro.
smtp_domain: gmail.com
smtp_authentication: plain
smtp_username: email anda
smtp_password: password email anda
5.Ketikan kode dibawah ini pada file figaro/environments/development.rb
 config.action_mailer.smtp_settings = {
      :address => ENV["smtp_address"],
      :port => 587,
      :domain => ENV["smtp_domain"],
      :authentication => ENV["smtp_authentication"],
      :enable_starttls_auto => true,
      :user_name => ENV["smtp_username"],
      :password => ENV["smtp_password"]'
}
untuk selebihnya mengenai gem figaro bisa klik link dibawah ini:


selamat mencoba & happy coding :)
ersad@doterb.com | Web Developer at doterb solution