Laravel Blogging

Behind the scene blog sederhanaku

July 29, 2019

Kali ini aku ingin membahas sedikit tentang apa - apa aja yang aku gunakan untuk bikin blog sederhana ini.

Mungkin di antara kamu pingin membuat blog sendiri, dan kebetulan kamu menguasai bahasa pemrogramman php. Maka kamu bisa intip sedikit tech stack yang aku gunakan dalam blog sederhana ini.

Pada awal membangun blog ini sekitar setahun yang lalu saya ingin apa - apa yang ada di dalam blog ini sangat mudah untuk di modif dan juga maintainable. Saya ingin ada test sehingga ketika saya menambah fitur baru tidak akan menggangu fitur lama.

Nah mari kita bahas teknologi apa saja yang saya gunakan untuk membuat web blog ini.

Backend

DI backend ini kebanyakan menggunakan teknologi yang di support oleh ekosistem laravel. Karena ini hanya blog pribadi yang tidak mengelola data yang besar maka kebanyakan menggunakan teknologi yang kelas menengah lah kira - kira.

Laravel

Laravel - Kenapa menggunakan laravel? Alasanya cukup simple yaitu karena laravel punya banyak fitur yang sangat gampang untuk digunakan.

Saya pernah nyoba bikin web dengan nodejs, python saya sangat suka dua bahasa pemograman itu. Akan tetapi masalah yang saya dapati untuk mengimplementasikan fitur yang saya butuhkan paling cepat itu pakai php dengan laravel.

Jadi menurut saya php72 masih berani di pakai untuk menahan traffik blog. Karena traffic saya belum sampai jutaan page view perharinya. Mudah - mudahan nanti bakalan segitu, hehe.

Ya alasanya memang karena saya udah punya pengalaman 4 tahun di laravel, so sangat gampang buat untuk nambahin fitur yang baru.

Laravelmix

Kodinga javascript disini nggak terlalu banyak sih, akan tetapi biar mudah di maintain kodinganya maka aku memisahkan kodingan menjadi beberapa bagian.

Untuk mengecilkan ukuran kode javascript ini bisa dilakukan dengan mudah dengan laravelmix ini. Salah satu fungsi lainya juga adalah untuk bundling atau membungkus kodingan javascript menjadi satu file atau lebih berdasarkan kebutuhan kita.

Parsedown

Sebelumnya aku menggunakan wink, karena editornya itu mirip dengan medium, akan tetapi setelah saya telusuri lagi data yang disimpan oleh wink itu berupa text html, yang mana menurut aku itu kurang bagus.

Maka penggunaan parsedown disini untuk mengolah data markdown agar bisa dijadikan html dengan mudah. Karena ternyata dengan markdown ini cukup membuat artikel yang disimpan dalam database menjadi lebih sedikit.

MariaDB

MariaDB adalah database yang di pakai , lagi - lagi karena aku cukup familiar dengan database ini. Sebenernya pingin pakai mongodb, tapi karena eloquent mysql lebih enak di pakai di laravel jadi aku memutuskan untuk menggunakan mariadb.

Jadi mariadb ini sama saja dengan mysql akan tetapi dia opensource jadi saya bisa nambahin fitur sendiri untuk database ini jika diperlukan.

Redis

Redis - Untuk cache dan queue driver pakai redis. Aku sampai saat ini tidak mengalami masalah dengan redis, so secara performa juga cukup bagus. Tapi untuk saat ini belum ada pengunaan redis yang cukup besar jadi nggak banyak komentar.

Frontend

Saya sendiri lebih banyak pengalaman di bidang backend, apa - apa yang ada di frontend ini kebanyakan hanya untuk mempermudah saya untuk bikin tampilan.

Stisla

Stisla - Nah untuk halaman admin ini tampilananya cukup ribet sebnarnya jadi untuk menghmat waktu maka aku menggunakan stisla.

Stisla ini ui framework buatan anak indonesia yang dibangun di atas framework bootstrap. Aku cukup seneng dengan tampilan ui nya. Dan mudah juga untuk modifikasi ui yang ada.

Jadi stisla cukup rekomended banget untuk digunakan sebagai halaman admin next project kamu deh.

TailwindCSS

TailwindCSS - Pada awalnya tailwindcss ini yang bikin aku pengen bikin tema blog sendiri. TailwindCSS ini tidak seperti bootstrap, dia lebih fokus kedalam utility class.

Diakarenakan aku tidak begitu banyak tau soal css akan lebih cepat menggunakan tailwindcss ini. Salah satu keuntunganya pakai tailwindcss ini untuk ukuran warna nya sudah predefined artinya aku nggak perlu lagi nyari ukuran yang proporsional untuk beberapa komponen ui yang akan di buat.

Karena pengembang projcet ini bekerja sama dengan ui & ux desainer yang mana sudah mempunyai pengetahuan di bidang desain. Dengan begitu komposisi warna dan ukuran dalam utility class disini cukup pas lah intinya.

Meskipun begitu ada banyak keleluasaan yang didapatkan pada tailwindcss ini untuk membuat ukuran dan warna sendiri, jadi kita bisa menulis css dengan lebih sedikit dan bekerja dengan lebih cepat untuk membuat tampilan blog nya.

JQuery

Untuk urusan frontend apalagi di halaman blog tidak ada proses javascript yang ribet jadi aku memutuskan tidak menggunakan vue atau react.

JQuery ini aku gunakan untuk bikin sistem media manager di halaman admin seperti ini.

Media Manager

Filepod

Filepod ini digunakan untuk keperluan upload media, seperti file dan gambar. Settingnya cukup simple, tersedia beberrapa fitur yang mudah di implementasikan. Berikut ini adalah contoh tampilanya.

Filepod

SimpleMDE

Simplemde ini saya gunakan untuk text editor. Jadi karena saya menggunakan bahasa markdown untuk menulis artikel maka simplemde ini adalah editor paling sesuai dengan kebutuhan blog ini.

simplemde

Sebenarnya ada beberapa text editor markdown, akan tetapi setelah saya coba simplemde ini paling cocok dengan parsedown.

Disqus

Nah untuk komentar - komentar aku tidak membuat sistem nya sendiri, cukup dengan menggunakan Disqus integrasinya sangat mudah. Nah kenapa harus pakai service dari disqus ini sebenernya sederhana yaitu untuk menambahkan backlink, karena pengalaman aku lumayan dengan disqus bisa untuk menambah backlink dengan gratis.

DevOps

Karena ini project pribadi maka segalanya saya setting sendiri dengan se-sederhana mungkin. Maka disini untuk masalah devops tidak menggunakan teknologi yang ribet - ribet.

Gitlab

Awal menggunakan gitlab ini karena pekerjaan, banyak repo kerjaan yang di taruh di gitlab. Jadi karena ini project pribadi maka aku menggunakan gitlab sebagai repository managementnya.

Nah enaknya lagi untuk CI&CD juga sangat mudah untuk digunakan maka gitlab menjadi pilihan yang favorit untuk menyimpan project ini.

Jadi setelah git push origin master jika udah pass test maka langsung deploy ke server production, jadi sudah otomatis dan settingnya cukup mudah.

Server

Nah untuk server ini aku menggunakan vps dari vultr yang harga $5 perbulan. Yang paling aku suka dari vultr ini port nya nggak ada yang di block jadi kalau mau bikin email server itu sangat gampang. Walau ternyata email servernya aku pakai amazon ses. hehe,,,

DNS Management

Untuk domain aku belu di domainesia, udah lama langganan disitu jadi cukup paham dengan panel adminya. Dan setelah aku bandingkan dengan bebreapa layanan penyedia jual domain untuk panel admin untuk dns managementnya punya domainesia paling cepet update dnsnya. So ini cukup bikin setup jadi cepet.

Kesimpulan

Nggak terasa tulisan ini semakin panjang. Gimana? nggak nyangka dari blog yang kelihatanya sederhana ini cukup lumayan banyak ya isi dalemanya.

Nah kira - kira itu saja teknologi yang dipakai untuk membangun blog ini. Mudah - mudahan bisa menjadi referensi kamu untuk yang kepingin bikin blog sendiri.

Sebenarnya saya juga sedanga menulis buku nya terkait dengan teknologi yang sudah saya bahas di atas, jadi kalau kamu tertartik silahkan subscribe ke newsletter saya untuk mendapatkan kabar kalau bukunya sudah selesai saya tulis.

Subscribe to My Newsletter

Thank you for your interest in my blog. Sign up to my newsletter to stay current on the latest news and information me and to be the first to see new blog posts.