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.


Langkah - langkah implementasi

1.Buat rails project baru dan generate database:
$ rails new devise
$ rake db:create

2. Tambahkan gem devise pada gemfile

 gem 'devise'


3. Install devise
$ bundle install
$ rails generate devise:install

4. Buat devise model "user"
$ rails generate devise User

5. Run migration
$ rake db:migrate

6. Generate view untuk login dan registrasi
$ rails generate devise:views users

7. Generate controller devise users
$ rails generate devise:controllers users
8. Konfigurasi routes untuk login dan registrasi

 #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. Generate controller home dan tambahkan code dibawah
$ rails g controller homes
 #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. Buka url
      http://localhost:3000/users/sign_up
      http://localhost:3000/users/sign_in

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
FA edited

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 rails 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

Di file ini 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
FA edited