3 poin oleh GN⁺ 2024-04-13 | 1 komentar | Bagikan ke WhatsApp
  • Zero Sheets adalah layanan yang mengubah Google Sheets menjadi RESTful JSON API, sehingga data bisa dikelola di prototipe, situs web, dan aplikasi tanpa backend terpisah
  • Dengan mengirim permintaan HTTP ke endpoint yang dihasilkan, data dapat diambil dan dimanipulasi, serta metode autentikasi dan sheet yang digunakan bisa dikonfigurasi
  • Alur memulainya terdiri dari 3 langkah: menempelkan URL sheet, menyusun API, lalu mengirim permintaan ke endpoint, sehingga beban koneksi awal berkurang
  • Berfokus pada penggunaan spreadsheet seperti CMS untuk klien, agar ide bisa diuji dengan data nyata
  • Paket harga mulai dari gratis untuk 1 API dan 200 permintaan per bulan, hingga Scout seharga $4.99/bulan dan Craft seharga $19.99/bulan; paket publik mencakup baca, tulis, ubah, dan hapus

Mengubah Google Sheets menjadi RESTful API

  • Mengubah spreadsheet Google Sheets menjadi RESTful API sehingga data bisa diambil dan dimanipulasi melalui permintaan HTTP sederhana
  • Diposisikan sebagai alat bagi developer untuk membuat prototipe, situs web, dan aplikasi dengan cepat
  • Pada tahap konfigurasi API, metode autentikasi, sheet yang akan digunakan, dan pengaturan lainnya dapat ditentukan
  • Alur penggunaan diringkas menjadi 3 langkah
    • Menyalin lalu menempelkan URL Google Spreadsheet ke dashboard
    • Mengatur metode autentikasi untuk API baru, sheet yang akan digunakan, dan lainnya
    • Setelah menerima endpoint, mengirim permintaan HTTP

Cara penggunaan seperti CMS dan paket harga

  • Spreadsheet dapat digunakan seperti penyimpanan data nyata untuk menguji ide, sekaligus berperan sebagai CMS yang dapat dipakai klien
  • Diklaim memungkinkan implementasi ide dengan lebih murah dan cepat dibanding membuat panel backend sendiri
  • Paket publik adalah sebagai berikut
    • Free: $0/bulan, 1 API, tab sheet tanpa batas, baca/tulis/ubah/hapus, 200 permintaan per bulan
    • Scout: $4.99/bulan, API tanpa batas, tab sheet tanpa batas, baca/tulis/ubah/hapus, 400 permintaan per bulan, dukungan 24/7
    • Craft: $19.99/bulan, API tanpa batas, tab sheet tanpa batas, baca/tulis/ubah/hapus, 2000 permintaan per bulan, dukungan 24/7
  • Paket kustom tersedia melalui permintaan terpisah

1 komentar

 
GN⁺ 2024-04-13
Komentar Hacker News
  • Perlu waspada terhadap jebakan pemula Excel versi modern. Pada era 80–90-an banyak bank investasi terjebak di sini; spreadsheet sangat bagus sebagai kerangka kerja perhitungan serbaguna, sehingga manajemen risiko, penetapan harga, sampai fungsi operasional akhirnya ditumpuk di atas tumpukan file Excel raksasa
    Dengan plugin dan ekstensi, memang sangat banyak hal yang bisa dilakukan, tetapi pada akhirnya spreadsheet berubah menjadi mimpi buruk yang mustahil dipelihara dan sulit dipahami dari dalam, sementara logika bisnis inti terjebak di sheet pribadi banyak orang. Perubahan berskala luas menjadi sulit atau mustahil, dan bahkan perubahan yang mudah dilakukan di kerangka kerja perangkat lunak biasa jadi berisiko serta mahal untuk diverifikasi karena harus memperbaiki begitu banyak sheet

    • Situasi yang sangat mirip juga terjadi pada visual scripting dalam pengembangan game. Awalnya alat ini dimaksudkan agar desainer atau artis bisa mengerjakan hal kecil seperti membuat pintu terbuka saat pelat tekan diinjak tanpa harus memanggil programmer, tetapi hasilnya mudah membesar hingga lepas kendali
      Bahkan ada situs yang khusus mengumpulkan contoh dari Unreal Engine: https://blueprintsfromhell.tumblr.com/. Secara pribadi saya rasa solusinya adalah dukungan refactoring yang baik. Harusnya bisa dirapikan dengan cara seperti “extract method” tanpa perlu programmer masuk lalu menulis ulang semuanya
    • Ini tidak selalu soal pilihan. Di kantor, hanya untuk mendapatkan lingkungan yang bisa menjalankan hello world Python yang patuh kebijakan saja perlu sekitar 4 jam karena berbagai prosedur
      Jangankan IDE lengkap atau modul pip, ini cuma hello world, dan itu pun sejauh ini masih termasuk lebih baik. Beberapa perusahaan finansial memang sejak awal tidak memberi opsi lain. Pola yang umum adalah memberi pekerja kantoran hanya Excel, lalu heran ketika orang-orang membuat monster dengan Excel
    • Sangat setuju. Perusahaan saya sekarang sudah lebih dari 10 tahun tidak merefactor struktur kusut spreadsheet dan pipeline ekspor kueri database, dan karena tidak bisa diskalakan, sekarang uang terus bocor
      Masalah seperti ini biasanya tidak terlihat jelas sampai semuanya runtuh. Bekerja serempak di spreadsheet itu nyaris termasuk hal paling berbahaya, sehingga semua proses inti jadi punya bottleneck. Integrasi data berisiko dan makan waktu, dan sulit juga menjamin konsistensi antar-spreadsheet. Akhirnya kita terus menambal dengan kode yang seharusnya tidak perlu ada jika lebih awal pindah ke alat yang tepat
    • Selain “perubahan berskala luas menjadi sulit atau mustahil”, juga tidak ada version control
      Spreadsheet memang bisa disimpan di RCS, tetapi apakah Anda bisa melihat diff untuk memastikan perubahan yang akan dipush memang sesuai maksud? Apakah Anda bisa meninjau riwayat diff untuk melihat bagaimana sistem berubah dari waktu ke waktu? Jika beberapa orang melakukan perubahan, bisakah itu di-merge? Apakah ada salinan kerja terpisah untuk eksperimen, atau justru orang langsung mengedit salinan produksi tanpa pengaman?
    • Mungkin tidak masalah jika sheet hanya dipakai sebagai penyimpanan. Hanya saja saya penasaran seberapa besar batas ukurannya
  • Cerita yang menarik. Sebelum startup ini berputar menjadi Loom, dulunya adalah perusahaan pengujian pengguna bernama Opentest, dan alih-alih membuat database serta dashboard agar co-founder bisa melihat peminta pengujian pengguna tertentu, mereka просто memasukkan semuanya ke Google Sheets
    Itu sangat bagus. Tidak ada downtime, akses terbuka, dan karena yang melihat serta mengedit hanya tiga orang, tidak ada konflik. Juga tidak perlu berurusan dengan upgrade atau pemeliharaan database. Saya sering teringat keputusan itu, dan merasa banyak “praktik rekayasa yang baik” yang saya pelajari jadi tampak pudar dibanding fakta bahwa bergerak sungguh cepat dan praktis bisa menjadi terobosan jenius pada tahap apa pun

    • Setuju. Google Sheets adalah pilihan bagus untuk startup atau perusahaan kecil agar bisa cepat bertahan
      Saya pernah memakainya untuk data berbagai sistem yang hanya perlu diubah oleh sangat sedikit orang. Dengan sedikit kode yang hati-hati dan caching, ini bisa dengan mudah dipakai sebagai frontend CRUD untuk data sistem penting, misalnya dengan sinkronisasi ke S3 setelah validasi. Juga bagus sebagai dashboard sementara, dan kalau dihubungkan ke API atau ditambah kode Google Scripts kustom, bahkan API privat pun bisa ditangani. Saya juga pernah membuat laporan yang cukup besar dengan banyak view, pivot table, query, dan lookup yang diperbarui otomatis sesuai jadwal. Memang solusi kustom harus jauh lebih baik daripada Google Sheets, tetapi tidak akan bisa dibuat lebih cepat. Saat kebutuhan akan sesuatu yang lebih besar dan lebih baik muncul, biasanya persyaratannya juga sudah lebih jelas dan sumber daya pengembangannya sudah lebih mampu ditanggung
    • Saya insinyur perangkat lunak di perusahaan besar, tetapi fondasi banyak proyek yang saya kerjakan adalah Google Sheets. Di beberapa tempat dipakai sebagai frontend, di tempat lain sebagai backend
      Sebagian karena prosedurnya terlalu banyak bahkan untuk memakai alat rekayasa sederhana seperti React atau Postgres
    • Google Sheets juga bisa dipandang sebagai database NoSQL terkelola dengan UI administrasi bawaan
    • Kedengarannya ide yang bagus jika hanya memungkinkan dump data satu arah. Masalah mulai muncul ketika tujuh sheet harus secara otoritatif mengendalikan proses-proses lain
      Siapa pun yang menulis ke spreadsheet pada dasarnya bisa melakukan perubahan apa pun, jadi sangat mudah rusak
    • Kelihatannya oke, tetapi sebelum memasukkan data perusahaan ke Google Sheets, sebaiknya minta izin dulu
  • Sebenarnya tidak perlu pembungkus yang mewah. Tinggal buka https://script.google.com/ dan Anda sudah bisa mengakses berbagai API Google, serta mengintegrasikan sheet dengan pengiriman email lewat Gmail, perubahan kalender, pembuatan halaman, pemrosesan input formulir, dan sebagainya
    Masalahnya adalah tidak ada operasi berbasis transaksi seperti database sungguhan. Misalnya, saat Anda ingin mengunci resource tertentu, itu bisa gagal

    • Di situs ini, setiap kali seseorang membuat solusi sederhana untuk suatu masalah, selalu ada orang lain yang berkata bahwa sebenarnya sudah ada opsi yang jauh lebih rumit
  • Cukup mengejutkan belum ada yang menyebut Spread API: https://spreadapi.roombelt.com/
    Ini gratis dengan Google Sheets / Apps Script, dan cukup tempelkan ke sheet untuk mengubahnya menjadi CRUD lengkap. Memang ada sedikit batasan laju, tetapi sepenuhnya gratis. Dulu saya pernah mempertimbangkan perusahaan berbasis Sheets, tetapi saat sudah sampai tahap “bersedia membayar”, biasanya itu juga saatnya melampaui Sheets. Karena keterbatasannya, rasanya lebih ingin pindah ke Turso, Cloudflare D1, atau Pocketbase daripada tetap di Sheets atau SpreadAPI

    • Saya benar-benar senang proyek kecil saya ternyata berguna
      Ide perbaikan atau PR kapan saja bisa dikirim ke sini: https://github.com/ziolko/spreadapi
    • Terlihat bagus. Hanya saja, sepertinya bahkan tidak bisa menyisipkan beberapa baris dalam satu permintaan, jadi tampak cukup terbatas
    • Saya penasaran seperti apa batas laju Spread API. Saya tidak bisa menemukan informasinya di situs
  • Untuk kegunaan serupa, saya ingin merekomendasikan PocketBase
    Minggu lalu saya mencari penyimpanan data arbitrer dengan akses API dan sempat berpikir membuat backend Google Sheets, tetapi PocketBase mudah dan tidak punya batas 60 kali per menit. Mendeploy-nya ke VPS murah dengan CapRover juga sangat mudah
    https://pocketbase.io/
    https://developers.google.com/sheets/api/limits

    • Saya juga memilih PocketBase. Untuk pengumpulan data umum saya memakai PocketBase, lalu mengekspor CSV lewat API dan memindahkannya ke Google Sheet untuk dilihat dan diedit
      Sangat mudah untuk prototyping dan pemrosesan pekerjaan nyata, dan memakai Google Sheet sebagai backend juga bagus, tetapi saya butuh hal-hal seperti autentikasi
    • Saya sudah melihat PocketBase, tetapi tidak begitu paham cara memakainya. Saya tahu SQLite dan cukup mahir SQL, tetapi saya belum mendapat gambaran bagaimana memakainya dalam praktik
    • Infrastruktur saya 100% berfokus pada skalabilitas, jadi sepertinya kita bisa bekerja sama. Tinggal berbagi biaya saja
      Akan bagus kalau Anda mengirim pesan ke sini agar saya bisa mendapatkan kontak Anda: https://www.zerosheets.com/contact
  • Baru-baru ini saya membuat web app lengkap hanya dengan AppsScript dan Google Sheets sebagai database, menulis tentangnya di sini https://thetechenabler.substack.com/i/142898781/making-a-sim... dan merilisnya di sini https://github.com/eeue56/simple-link-aggregator
    Itu pengalaman baru, dan saya terutama tertarik pada gagasan menaruh penyimpanan data yang mudah ditangani non-developer, lalu memasang web app di depannya tanpa perlu konfigurasi server. Namun AppsScript terlalu lambat untuk dipakai seperti ini, jadi sulit menjadi pengalaman yang baik. Zerosheets terlihat bagus, dan kalau saya kembali ke ide ini saya akan melihatnya lebih jauh

    • Bukankah “memasang web app pada penyimpanan data yang mudah ditangani non-developer tanpa perlu konfigurasi server” adalah salah satu use case Airtable?
  • Saya butuh sesuatu seperti ini untuk ide proyek userscript berikutnya. Untuk penggunaan pribadi, tetapi saya harus mengisi rapor lewat web UI yang sangat menyiksa
    Jauh lebih mudah memasukkan datanya ke spreadsheet. Dulu saya memang melakukannya begitu, tetapi sekolah memperkenalkan sesuatu seperti parodi mengerikan dari web app CRUD yang sangat dasar dengan dalih membuatnya “lebih mudah”. Jadi saya ingin membuat userscript yang membaca dan menulis dari spreadsheet untuk mengisi formulir web yang tidak nyaman itu. Saya belum mulai karena saya bahkan belum selesai menulis posting blog tentang pengalaman userscript sebelumnya, dan saya takut pada mimpi buruk autentikasi. Dalam konteks userscript, mungkin ini bisa lebih mudah atau lebih sulit, tetapi karena berada di dalam halaman web, mungkin dari sana bisa menjalankan alur OAuth biasa

    • Apakah Anda sudah mengecek Apps Script?
    • Jika memakai Google Sheets, Anda kemungkinan harus menjalankan alur OAuth yang umum. Alternatifnya, Anda bisa memakai Excel dan mengotomatiskannya dengan makro sederhana
      Menurut saya, cara termudah adalah melewati autentikasi, yang merupakan bagian rumit dari skrip, lalu menyalin dan menempel nilai dari clipboard untuk kemudian memproses datanya
  • Beberapa hari lalu, saat melihat-lihat template dan alternatif CMS, saya menemukan alat internal NPR untuk menerbitkan artikel dengan data, grafik, dan visualisasi: https://github.com/nprapps/dailygraphics-next
    Menarik karena di sana ada pendekatan memakai Google Sheets sebagai CMS

  • Di https://github.com/kellpossible/avalanche-report/ saya melakukan sesuatu yang sangat mirip. Saya memulai dengan Google Sheets karena alur input datanya bisa diiterasikan dengan cepat
    Jika dipakai bersama server, URL query yang dirakit bisa dimasukkan ke fungsi IMAGE untuk membuat grafik dan diagram kustom juga. Pembacaan di-cache ke database SQLite lokal. Sekarang kami sedang meninggalkan Google Sheets karena penyiapannya agak merepotkan dan dalam use case kami tidak mungkin sepenuhnya mencegah pengguna mengedit field yang salah. Meski begitu, sejauh ini ia bertahan dengan sangat baik, dan sebagai titik awal saya sangat merekomendasikannya kepada siapa pun

  • Dulu saya pernah menjalankan halaman menu situs web restoran dengan Google Sheet. Sempurna
    Setiap kali restoran mengubah sesuatu, cukup memperbarui spreadsheet dan perubahannya langsung tercermin di web, dan kalau ada yang salah disentuh tinggal dikembalikan

    • Beberapa minggu lalu saya memasang hal yang persis sama untuk sebuah restoran. Sederhana dan gratis
      Saya membuat Apps Script agar membangun situs saat ada pembaruan, jadi kapan pun ada edit, rebuild akan terpicu dan situs statis akan dideploy ulang