19 poin oleh tsboard 2024-05-20 | 21 komentar | Bagikan ke WhatsApp

Apa itu TSBOARD?

  • TSBOARD adalah Type Safety BOARD, sebuah pembuat komunitas sekaligus papan diskusi yang ditulis dengan TypeScript.
  • Proyek ini menggunakan runtime Bun yang pernah diperkenalkan di GeekNews ini, dan menyusun backend dengan framework web bernama ElysiaJS. Berkat itu, kecepatan operasinya lebih tinggi dibandingkan engine papan diskusi pada umumnya.
  • Untuk frontend digunakan Vue dan Vuetify. Namun karena selera estetika pengembangnya masih jauh dari memuaskan, saya menulis posting ini sambil berharap suatu hari bisa mendapatkan bantuan dari para desainer dermawan. (+ tentu saja bantuan dari para pengembang dermawan juga sangat dibutuhkan!)

Mengapa saya membuatnya?

  • Saya memulai pemrograman web dengan PHP, dan merupakan pengembang yang mengalami era ZeroBoard dan GNUBoard.
  • Kenangan terakhir saya tentang JavaScript di kepala saya adalah bahasa yang terasa seperti sampah tanpa jQuery (...).
  • Namun saya kemudian jatuh hati, meski terlambat, pada perbaikan standar yang terus berlanjut, kemunculan Node.js, dan TypeScript dari MS. (Sepertinya memang saya jatuh hati terlalu terlambat)
  • Karena itu saya ingin kembali membuat program web, dan mencoba menulis papan diskusi yang selalu saya buat hanya dengan TypeScript.
  • Sekalian, saya juga ingin membuatnya agar mudah digunakan, lebih cepat, dan berjalan lebih aman.

Kelebihan khas TSBOARD

  • TSBOARD ditulis dengan TypeScript baik di frontend maupun backend sehingga menjamin type safety semaksimal mungkin. (Tidak ada yang benar-benar sempurna, tetapi bagian yang paling saya perhatikan adalah type safety)
  • Bagi mereka yang pernah melakukan pengembangan full-stack berbasis Node.js, desainnya mudah dipahami dan bisa langsung dimanfaatkan. Saya juga membuatnya sambil belajar dari awal, sehingga banyak merujuk pada praktik terbaik dari orang lain.
  • Semua fitur yang diperlukan untuk membuat situs komunitas skala kecil hingga menengah sudah tersedia di dalamnya. Saat mengembangkannya, saya merujuk pada berbagai situs komunitas besar di Korea seperti Clien, Quasar Zone, GiggleHD, serta Damoang yang baru muncul belakangan ini.

Ada juga kekurangannya.

  • Runtime Bun tidak berjalan dengan baik pada CPU virtual. Pada hosting server virtual yang murah dan mudah digunakan, proyek ini sulit dimanfaatkan dengan semestinya. Karena TSBOARD juga bergantung pada Bun, kondisinya sama.
  • TSBOARD menggunakan pendekatan Client Side Rendering. Sebagai seseorang yang masih sangat menyukai PHP, istilah Server Side Rendering justru terasa asing bagi saya. Meskipun masing-masing punya kelebihan dan kekurangan, saya ingin mencoba pendekatan baru ini, dan karena TSBOARD dikembangkan dengan tujuan mengurangi beban server, hal ini jelas bisa menjadi kekurangan bagi sebagian orang.
  • Sebenarnya pengembangannya sudah dimulai lebih dari sekitar setengah tahun yang lalu, tetapi masih ada banyak kekurangan hingga baru sekarang rasanya cukup layak untuk diperkenalkan. Saya berharap kekurangan ini nantinya bisa teratasi dengan bantuan para dermawan yang akan saya temui di masa depan.

Penutup: bermimpi suatu hari situs komunitas terkenal akan mengadopsi TSBOARD

  • Melihat GNUBoard beralih dari PHP ke Python, saya merasa bahwa program web juga terus melakukan berbagai percobaan baru. Begitu pula dengan Rhymix yang lahir dari XE. Web masih tetap dinamis, dan pengembangan pun demikian.
  • Saya juga ingin memberikan kontribusi, sekecil apa pun, pada ekosistem web melalui proyek TSBOARD, jadi saya meninggalkan tulisan perkenalan ini.
  • Saya membayangkan hari ketika situs komunitas baru yang akan lahir suatu saat nanti memilih TSBOARD. hehe

Terima kasih sudah membaca tulisan panjang ini!

21 komentar

 
tsboard 2024-06-02

Saya rasa menambahkan komentar pada postingan yang saya unggah sekitar 2 minggu lalu mungkin bisa membantu, haha.
Sambil memikirkan bagaimana menerapkan masukan terkait SEO yang saya terima dari GeekNews,
saya meninggalkan komentar ini untuk berbagi isi penerapan optimasi mesin pencari dengan mengimplementasikan sitemap.xml!

Singkatnya, mesin pencari pada akhirnya akan mengumpulkan data melalui akses robots.txt > sitemap.xml ke jalur
https://tsboard.dev/tsapi/seo/main.html (halaman contoh).
Jika pengguna masuk melalui pencarian, mereka akan diarahkan dari halaman tersebut kembali ke situs asli melalui tautan-tautan yang ada.

Detail selengkapnya bisa Anda lihat melalui tautan di bawah ini!

https://tsboard.dev/board/free/18

 
dogtree 2024-05-23

Saya juga sedang berpikir untuk menjalankan proyek hobi yang saya buat dengan bun, jadi cukup mengejutkan mendengar bahwa itu tidak berjalan dengan baik di vCPU virtual. Dan saat mendaftar anggota, karena di syarat kata sandi tertulis huruf besar, saya kira huruf kecil tidak perlu disertakan, ternyata jebakan ya wkwk. Sepertinya sebaiknya ditulis huruf besar dan kecil.

 
tsboard 2024-10-19

Saya meninggalkan balasan ini untuk berjaga-jaga. Bagi yang sedang mempertimbangkan runtime Bun, sekarang Anda tidak perlu lagi khawatir soal masalah operasi di CPU virtual...! Saya sudah mengujinya di versi 1.1.31 dan memastikan bahwa semuanya berjalan tanpa kendala. :)

 
tsboard 2024-05-23

Ah, terima kasih atas komentarnya, dan saya pasti akan memperbaiki juga bagian syarat kata sandi yang Anda sebutkan. haha

Kalau soal Bun, saya sendiri juga belum bisa dibilang pernah memakainya secara mendalam, tetapi saat menggunakannya saya mengalami banyak hal yang cukup mengejutkan dalam berbagai arti. Ada banyak pengalaman di mana fitur yang tentu saja berjalan di Node.js entah kenapa tidak berjalan di Bun (termasuk misalnya masalah opsi recursive: true yang tidak didukung saat membuat folder), dan di sisi lain juga banyak terlihat betapa terobsesinya mereka pada kecepatan dengan cara yang sampai terasa mengejutkan (itulah yang membuat saya mau tidak mau jadi makin menyukainya).

Sekarang sepertinya disebut Bundows, dan runtime Bun di Windows kini sudah didukung secara resmi, tetapi sebelum 1.1 itu belum bisa sehingga harus dijalankan di atas WSL2. Untuk penggunaan pada CPU virtual seperti yang Anda sebutkan, kemungkinan besar Bun juga tidak akan mendukungnya ke depan. Memang mereka menyediakan distribusi untuk CPU yang tidak mendukung instruksi AVX2 (baseline), tetapi tidak adanya dukungan untuk CPU virtual tetap terasa disayangkan dari berbagai sisi, entah itu keterbatasan Zig sebagai bahasa pengembangan Bun atau bukan. Kesan saya setelah memakainya sederhana saja: demi kecepatan, tampaknya Bun juga punya beberapa bagian yang harus dikorbankan.

Kalau-kalau ada pengguna Bun di masa depan yang membaca komentar ini, saya ingin menambahkan sedikit lagi: meski ada berbagai keterbatasan, Bun tetap merupakan pilihan yang menarik. Terutama jika Anda memilih ElysiaJS sebagai web framework, saya rasa setidaknya dari sisi kecepatan tidak akan ada hal yang terasa kurang. Jika saya harus kembali ke awal dan memilih runtime lagi sekarang... mungkin saya akan memikirkannya sedikit lebih lama, tetapi pada akhirnya sepertinya saya tetap akan memilih Bun meskipun ada berbagai masalah. Sikapnya yang sangat fanatik terhadap kecepatan, serta keberaniannya menantang ekosistem runtime JS yang seolah sudah punya jawaban baku, entah kenapa terasa menggerakkan hati saya. haha

 
boy672820 2024-05-23

Saat melihat kode di GitHub, ada beberapa hal yang membuat saya penasaran, jadi saya meninggalkan pertanyaan.

  1. Saat saya memeriksa struktur tabel, tampaknya tidak ada pengaturan relasi; apakah ada alasan khusus untuk itu?
  2. Jika relasi tabel memang tidak digunakan demi efisiensi indeks, saya penasaran mengapa tidak mempertimbangkan NoSQL alih-alih RDB.

Secara pribadi, saya sangat terkesan melihat hadirnya board berbasis TS yang selama ini saya harapkan!

 
tsboard 2024-06-02

Pengaturan foreign key telah diterapkan pada pembaruan v0.8.40!
https://tsboard.dev/board/free/18

 
tsboard 2024-05-23

Ah, terima kasih atas komentarnya!

Kalau yang Anda maksud dengan pengaturan relasi adalah belum adanya pengaturan foreign key, ya! Bukan karena ada alasan khusus, awalnya saya berpikir akan mengaturnya setelah struktur tabelnya agak benar-benar final, tetapi di tengah jalan saya menangani hal lain jadi sampai sekarang belum sempat menerapkannya. Karena relasi dependensi antar tabel TSBOARD dan kolom-kolom referensinya sekarang sudah cukup stabil, saya akan coba menambahkan pengaturan foreign key juga dan mengubahnya ke arah yang lebih menjamin integritas data!

Saya sempat mempertimbangkan NoSQL sebentar... tetapi karena yang harus dipelajari dari baru sudah terlalu banyak, mulai dari bahasa TypeScript sampai Vue, Node.js/Bun, dan lain-lain, saya memutuskan untuk tidak beralih. Relational database memang sudah tua, setua sejarah panjangnya, tetapi saya juga sempat berpikir mungkin ada alasan kenapa sampai sekarang masih berguna dan tetap banyak dipakai di berbagai tempat. Pada saat saya menulis komentar ini saya masih berpikir begitu, tetapi kalau nanti ada kebutuhan tertentu, saya mungkin bisa mempertimbangkan sesuatu seperti MongoDB. Hehe

Secara pribadi saya sebenarnya cukup terkejut bahwa ternyata belum ada board berbasis TypeScript, tetapi mungkin ini juga hanya soal waktu. Saya harap akan muncul banyak proyek lain dengan gaya yang berbeda dari TSBOARD! Hehe, terima kasih atas komentarnya!

 
singed 2024-05-22

Sejujurnya saya awalnya tidak terlalu berekspektasi karena teringat board PHP zaman dulu, tetapi setelah melihat situs demonya (https://tsboard.dev), saya berubah pikiran. Kualitasnya sangat bagus.

  • Mendukung SSR
  • Bisa mengizinkan penulisan posting tanpa login (seperti dc)

Saya rasa poin-poin seperti ini memang penting!

Apakah editornya dibuat sendiri? Wah... Saya merasa mungkin Anda menggunakan semacam editor engine(?), tetapi tetap terasa sekali dedikasi craftsmanship yang luar biasa.

 
tsboard 2024-05-22

Terima kasih atas komentarnya! Saya juga lebih berterima kasih karena Anda menilai kualitas situs tsboard.dev dengan baik. haha

Untuk dukungan SSR yang Anda sebutkan, saya sudah menyiapkan roadmap yang dibagi menjadi 2 tahap. Setelah lebih dulu menerapkan langkah pelengkap, saya berencana mengembangkan versi-versi berikutnya dengan memadukan pendekatan CSR dan SSR secara tepat. Agar bisa lebih optimal untuk SEO sambil tetap menjaga performa dengan baik, saya sendiri juga harus belajar lebih banyak, jadi sepertinya masih butuh sedikit waktu. Saya berharap, kalau terus melakukannya tanpa menyerah, saya juga bisa bertemu para developer hebat lainnya, belajar lebih cepat, dan mungkin mendapat bantuan juga. haha

Untuk pengguna yang belum login, saat membuat TSBOARD saya memang tidak mempertimbangkannya demi mempersingkat masa pengembangan dan menjaga kesederhanaan desain, tetapi akan saya pikirkan lebih lanjut! Pada saat saya menulis balasan ini, kalau harus mempertimbangkan non-member, akan diperlukan banyak perubahan, jadi untuk saat ini sepertinya masih sulit. ^^;;;

Editor-nya saya susun satu per satu berbasis editor tiptap, dan ternyata implementasi editor memakan waktu jauh lebih banyak dari yang saya kira. Kalau tidak salah dari ingatan lama saya, dulu mungkin CKEditor...? Rasanya dulu cukup pakai saja yang sudah ada, tetapi belakangan ini harus dirakit satu per satu seperti menyusun lego. T_T Ditambah lagi, saya sempat lebih banyak trial and error untuk mengintegrasikan fitur TSBOARD ke dalamnya. Saat membuatnya, saya sempat berpikir akan enak sekali kalau ada yang membuat editor ini saja, haha... Kalau ada yang membutuhkan editor berbasis tiptap yang lumayan layak dipakai(?), sepertinya Anda bisa mengembangkan lebih cepat dan lebih mudah dengan merujuk pada kode yang sudah saya implementasikan di TSBOARD.

Ternyata ada cukup banyak orang yang melihatnya dengan positif, sampai-sampai saya merasa waktu yang dulu saya habiskan untuk bimbang apakah perlu menulis posting perkenalannya atau tidak jadi terasa sia-sia. TSBOARD masih jauh dari sempurna, tetapi mohon dukungannya!

 
yeppyshiba 2024-05-21

Saya memulai pengembangan dengan PHP, dan ini juga periode ketika saya sangat terpikat dengan TypeScript sehingga banyak mencobanya.
Entah kenapa saya merasa ada kesamaan, jadi senang melihatnya.

 
tsboard 2024-05-21

Senang bertemu dengan Anda! Saya juga tanpa sengaja sedang menapaki perjalanan yang mirip. Hehe. Secara pribadi saya agak menyayangkan karena bahasa PHP sampai sekarang masih sering kena omel di sana-sini, tetapi setelah mencoba TypeScript, saya jadi merasa mungkin tidak apa-apa kalau sesekali kena omel sedikit. Hehe. Semoga yeppyshiba juga bisa banyak mengerjakan proyek seru dengan TypeScript. :)

 
jujumilk3 2024-05-21

Keren banget 👍

 
tsboard 2024-05-21

Terima kasih!! Ini memang proyek yang masih banyak kekurangannya, tetapi saya senang Anda melihatnya secara positif. hehe
Kalau suatu saat nanti Anda membutuhkan TSBOARD, saya akan terus bekerja lebih keras untuk meningkatkannya agar saya bisa merekomendasikannya dengan percaya diri. :)

 
filekiwi 2024-05-21

Saya merasa hal seperti ini memang kurang, terima kasih.

 
tsboard 2024-05-21

Terima kasih telah meninggalkan komentar! Jika suatu saat Anda membutuhkan program web yang mirip dengan TSBOARD, saya harap Anda dapat mengingatnya dan mencobanya. Saya akan terus bekerja keras mengembangkannya agar nanti bisa Anda gunakan dengan lebih nyaman saat membutuhkannya!

 
jongpak 2024-05-21

Oh...! Saya ingat papan sirini dari era PHP, benar-benar sudah lama sekali.
Dulu saya juga sempat mengembangkan skin untuk Sirini Board dan melaporkan kerentanan keamanan, apa kabar? :)

Kesan saya setelah melihat kodenya, kode sisi server terasa sangat kental nuansa PHP ya hehe (kode js dengan nuansa PHP?)

Seperti yang disampaikan orang lain, kalau CSR memang ada kekurangan karena kurang menguntungkan untuk SEO dan sebagainya.
Semoga bagian seperti ini bisa diperbaiki dengan baik hehe

 
tsboard 2024-05-21

Ah, jadi Anda adalah dermawan yang dulu pernah membantu saya! Senang sekali bisa bertemu lagi seperti ini haha
Selain itu, dulu maupun sekarang saya jadi malu karena rasanya saya hanya membuat hal-hal sepele yang mungkin terpikir oleh siapa saja. ^^;;

Seperti yang Anda katakan, kode backend-nya memang dipengaruhi gaya PHP haha. Saya juga kadang berpikir, “fungsi yang dulu saya pakai di PHP apa tidak ada di JS?” lalu setiap kali mencarinya, atau memberi nama fungsi dengan nama yang mirip untuk dipakai. Mungkin akan jadi lebih baik seiring saya makin terbiasa dengan kode JS/TS dan terus melakukan refactoring. Hahaha

Untuk bagian SEO, seperti yang Anda sampaikan, saya memang perlu melengkapinya. Dalam pemikiran saya yang singkat, salah satunya adalah menambahkan halaman statis lain seperti RSS, dan saya akan mencoba berbagai hal.

Ngomong-ngomong, sungguh mengejutkan sekaligus membuat saya bersyukur ada orang yang masih mengingat saya di masa PHP4! Sebenarnya saya sempat sangat bimbang apakah harus menulis postingan ini atau tidak. Haha;; Saya akan berusaha supaya bisa sedikit banyak membantu lebih banyak orang. Mohon terus dukung TSBOARD juga!

 
superwoou 2024-05-20

Saya meninggalkan komentar karena jadi penasaran setelah membaca tulisannya. (Saya belum melihat kodenya)

Saya penasaran kenapa backend-nya tidak dikembangkan agar kompatibel dengan Node.js (apakah performanya memang terlalu kurang untuk menutupi kekurangan yang Anda sebutkan?)
Kalau CSR, bagaimana rencana Anda menangani SEO? Rasanya untuk komunitas, trafik dari pencarian juga perlu diperhatikan.

 
tsboard 2024-05-21

Halo! Terima kasih sudah meninggalkan komentar. (Sejujurnya saya pikir ini akan tenggelam tanpa perhatian, jadi saya terharu.)
Pertanyaan-pertanyaan yang Anda ajukan juga sangat sering saya pikirkan, jadi saya harap Anda bisa membacanya sebagai sekadar, “oh, ada sudut pandang seperti ini juga.”
Oh ya, sebagai catatan, setelah PHP saya sama sekali tidak pernah lagi menekuni pengembangan web di pekerjaan utama saya. Saya juga tidak terlalu memperhatikan era reformasi Node.js maupun saat React mengubah dunia web, jadi mungkin ada juga sudut pandang saya yang terasa agak asing. haha

  1. Kenapa backend tidak dibuat kompatibel dengan Node.js?
    Saat pertama kali mengembangkan TSBOARD, saya sudah berasumsi duluan bahwa pasti sudah ada board, blog, atau apa pun yang mirip dengan yang ingin saya buat, yang terkenal dan berbasis Node.js (meskipun saya sendiri tidak mengetahuinya). Seperti yang saya singgung di awal, saya memang tidak punya kesempatan mengerjakan web development di kehidupan kerja saya, dan saya juga belum pernah benar-benar punya side project sendiri, jadi mungkin itu sebabnya saya berpikir seperti itu. Saya menganggap tentu sudah ada sesuatu yang dibuat berbasis Node.js, jadi rasanya tidak terlalu berarti kalau saya membuat yang baru lagi. Karena sekalian belajar hal baru, saya putuskan untuk membuatnya berbasis Bun, dan keputusan itulah yang berlanjut sampai sekarang.

Kalau memikirkan soal performa, sebenarnya untuk situs komunitas kecil yang saya targetkan (kurang dari 10 pengguna online bersamaan), menurut saya Node.js saja sudah cukup. Sebelum meninjau Bun, saya juga sempat menguji dengan basis Node.js + Hono, dan menurut saya waktu itu sebenarnya tidak ada masalah. Namun, performa luar biasa yang ditawarkan Bun, ditambah performa ElysiaJS yang dibangun di atas Bun, benar-benar sangat mengesankan bagi saya, jadi saya tidak ingin melepaskannya. Karena saya mengira pasti sudah ada orang lain yang membuat board berbasis Node.js dengan sangat baik, saya merasa perlu performa yang lebih tinggi untuk bisa bersaing dengan board imajiner itu, dan akhirnya saya memilih mengorbankan kompatibilitas Node.js dan merancangnya agar bergantung pada Bun. (Sekarang saya agak menyesal. Ternyata tidak ada... board terkenal berbasis Node.js seperti GnuBoard, Rhymix, atau XE. Atau saya saja yang tidak berhasil menemukannya??)

  1. Kalau memilih CSR, bagaimana dengan SEO?
    Bagian yang Anda sampaikan itu sepenuhnya benar. Kalau ingin mendapatkan traffic dari pencarian, pada akhirnya Google crawler harus bisa membaca kontennya dan mencocokkannya dengan hasil pencarian. Bagian ini memang belum saya implementasikan, tetapi saya berpikir, jika pengguna menginginkannya, bagaimana kalau konten-konten terbaru dibagikan secara terpisah dalam bentuk statis, mirip seperti menampilkan RSS feed? Saya juga berpikir, kalau diekspos ke luar dalam bentuk JSON, mungkin aggregator bisa memperbarui data dengan lebih mudah. Saya akan coba memikirkannya lebih lanjut. (Sebenarnya saya sempat memikirkan RSS, tapi belakangan ini sepertinya kebanyakan orang sudah tidak memakainya ya?? Mungkin saya sudah terlalu lama tidak berkecimpung di web T_T)

Terlepas dari langkah pelengkap untuk SEO, alasan saya memilih CSR adalah karena saya ingin lebih agresif mengurangi beban server. Untuk situs Damoang yang baru muncul belakangan ini (saya tidak tahu apakah tidak apa-apa menyebut nama komunitasnya secara terbuka), setahu saya beban trafik dan beban servernya juga cukup besar. Ketika memikirkan soal community builder, SEO memang penting, tetapi saya merasa saya harus lebih dulu menyelesaikan masalah yang berhubungan langsung dengan biaya, jadi saya memprioritaskan CSR. Sebagai seseorang yang masih mencintai PHP, sebenarnya saya justru lebih akrab dengan SSR, tetapi saya memilih ini dengan pemikiran bahwa kalau klien menggunakan computing power secara lebih aktif, mungkin server bisa mendapatkan lebih banyak kelonggaran.

Saya harap rasa penasaran Anda sedikit terjawab. Selain itu, pilihan-pilihan yang saya ambil ini punya kelebihan dan kekurangan yang cukup jelas, jadi saya sendiri sebenarnya tidak menganggap TSBOARD sebagai jawaban yang mutlak benar. Anggap saja ini adalah keputusan yang saya ambil setelah mempertimbangkan berbagai trade-off, berdasarkan pemikiran saya yang masih singkat. Jika nanti TSBOARD digunakan lebih luas, bukan tidak mungkin saya juga akan mengubah pandangan saya dan mencoba pendekatan lain kapan saja. haha

 
jongpak 2024-05-21

Karena desainnya sejak awal sudah disesuaikan untuk CSR, kalau mau diubah ke SSR sepertinya akan butuh pekerjaan yang nyaris setingkat pengembangan ulangT_T

Belakangan ini crawler pencarian katanya juga makin membaik dalam memproses JS, tapi tetap saja rasanya tidak akan bisa menandingi plain HTML.
Untuk browser biasa tetap diproses dengan CSR, sementara untuk bot pencarian (GoogleBot, Yeti, dll.) mungkin bisa diproses dengan SSR.

Secara pribadi, saya merasa cara seperti itu hanya solusi sementara, dan pada akhirnya kalau ingin mendukung SEO dengan baik, mungkin SSR memang jawaban yang tepat.

Bahkan dengan CSR pun, pada akhirnya kalau volume request meningkat, beban backend juga akan muncul, jadi menurut saya arah yang lebih baik adalah mengurangi beban backend melalui desain cache dan berbagai mekanisme lainnya ^^;

 
tsboard 2024-05-21

Untuk TSBOARD, seperti yang Anda katakan, saat ini semuanya dikerjakan berdasarkan CSR, jadi setidaknya pada versi v1.y.z sepertinya kami harus mengerjakannya dengan standar CSR only. Sebagai sedikit perbaikan, karena strukturnya menampilkan semua postingan di halaman pertama, mungkin kami bisa menerapkan metode SSR hanya pada halaman pertama, atau seperti yang Anda sarankan, menambahkan halaman terpisah agar bot dapat merayapi sisi plain HTML. Kami akan mencoba memasukkan langkah-langkah perbaikan ini pada lini versi v0.9.z!

Ah, saya juga sedikit khawatir akan ada yang berpikir "karena TSBOARD memakai cara CSR, maka tidak bisa dicari di mesin pencari!", jadi saya ingin menambahkan bahwa dalam kasus Googlebot, konon sudah cukup ditingkatkan sehingga bisa mengambil konten dari website yang dibuat dengan cara CSR juga! (Karena Google, jadi mungkin saja...?) Memang benar ini adalah pendekatan yang kurang menguntungkan untuk SEO, tetapi bukan berarti sama sekali tidak bisa, jadi rasanya tidak perlu terlalu khawatir.

Selain CSR dan SSR, pasti ada juga pendekatan lain di antaranya, jadi saya akan memikirkannya lebih lanjut dan menyusun roadmap v2.0.0 dengan tujuan meningkatkan SEO. (Meski itu masih cerita yang cukup jauh haha) Terima kasih atas sarannya, dan meskipun ini masih proyek yang banyak kekurangannya, mohon terus dukung TSBOARD!