Ads: Singset Premium Jekyll Theme. A beautiful and modern theme for Jekyll blog. Use code 2tv6qos to get $18 off your purchase!
Sinator - Sinatra Application Generator
- Terakhir diubahSinator merupakan generator web aplikasi yang menggunakan Sinatra yang saya gunakan untuk generate aplikasi.
Daftar Ruby Gems yang digunakan oleh Sinator ketika generate aplikasi:
- sinatra
- sinatra-contrib
- encrypted_cookie
Sinatra::Reloader
hanya untuk development- puma sebagai application server
Rack::Session::EncryptedCookie
Rack::Csrf
- sequel
- sequel_pg sebagai PostgreSQL adapter
- sprockets
- sass
- uglifier
- tux untuk console
Instalasi
gem install sinator
Cara Penggunaan
generate app pada current directory tanpa database
sinator -n my_app
generate app pada target directory tanpa database
sinator -n my_app -t target/dir
generate app pada current directory dengan database. Opsi -d
akan membuat Sinator generate aplikasi dengan Sequel
ORM dan PostgreSQL adapter.
sinator -n my_app -d
Contoh Aplikasi
Contoh aplikasi todo dapat dilihat melalui github.com/kuntoaji/todo_sinator.
Contoh Penggunaan
Contoh ini berasumsi PostgreSQL telah running dan database yang akan digunakan telah dibuat.
- run
sinator -n my_app -d
- cd
my_app
- run
bundle install
- Lakukan konfigurasi database pada
config/database.yml
Buat file
db/migrations/001_create_artists.rb
dan tulis kode berikut:Sequel.migration do up do create_table(:artists) do primary_key :id String :name, :null=>false end end down do drop_table(:artists) end end
- run
rake db:migrate
Buat file
app/models/Artist.rb
dan tulis kode berikut:class Artist < Sequel::Model end
Buat file
app/routes/artists.rb
dan tulis kode berikut:class MyApp get '/artists' do @artists = Artist.all erb :"artists/index" end post '/artists' do @artist = Artist.new @artist.name = params[:name] @artist.save redirect '/artists' end end
Buat file
app/views/artists/index.erb
dan tulis kode berikut:<h1>List of Artist</h1> <ul> <% @artists.each do |artist| %> <li><%= artist.name %></li> <% end %> </ul> <form action="/artists" method="post"> <%= Rack::Csrf.tag(env) %> <input type="text" name="name" /> <button>Submit</button> </form>
- run server
bundle exec puma
- buka url di browser
localhost:9292/artists
Production
Di production by default serve assets seperti Javascript dan CSS akan di-disable karena lebih baik melalui Nginx atau Apache. Untuk melakukan assets precompile dan running server di production dapat menggunakan perintah berikut:
RACK_ENV=production bundle exec rake assets:precompile
RACK_ENV=production bundle exec puma
Rekomendasi Services
Service-service dibawah ini pernah dan sedang oleh KAK Labs saat mengembangkan project dan sangat direkomendasikan.
- Digital Ocean - Daftar server cloud di Digital Ocean melalui link ini akan mendapatkan kredit $200
- Bunny CDN - CDN favorit, yang KAK Labs gunakan disemua project
- Namecheap - Tempat beli domain .id terfavorit.
- Backblaze - Online Backup agar laptop jika terkena ransomware tetap tenang
- Dediserve - Cloud server ini memiliki Datacenter di Jakarta, digunakan oleh project KAK Tools
Tulisan Terbaru
HTML Boilerplate
HTML Boilerplate versi KAK Labs
No-Class / Classless CSS Frameworks
Daftar CSS frameworks tanpa class versi KAK Labs
Microsoft C#
Review, rekomendasi link belajar dan rekomendasi extensions Visual Studio Code untuk C#
Typography
Typography, 50 Bytes CSS, dan 100 Bytes CSS
Membangun Penyimpanan RAID 5 - Bagian 2 (Tamat)
Bagian kedua membangun penyimpanan RAID, tulisan kali fokus bagaimana setup HDD Enclosure untuk mode RAID