Layanan Pelacak Lari

Layanan Pelacak Lari mencatat jarak, waktu, pace, dan rute lari dari ponsel begitu saja, lalu hanya menampilkan catatan miliknya sendiri kepada orang yang login. Setelah selesai berlari, catatan hari itu menumpuk di daftar, dan catatan orang lain tidak saling terlihat. Catatan yang sama dilihat baik dari aplikasi ponsel maupun dari web.

Yang ditunjukkan contoh ini hanya satu hal. Aplikasi ponsel dan web, dua layar, memakai satu backend WEEGLOO bersama-sama. Karena itu halaman ini lebih dulu melihat backend yang dipakai bersama oleh aplikasi dan web, lalu bercabang ke sisi yang Anda minati, aplikasi atau web. Sisi mana pun yang Anda pilih, backend-nya sama. Itulah intinya.

Apa yang dibuat

Alih-alih toko baju atau blog, kali ini contohnya adalah layanan pelacak lari pribadi. Catatan yang sama dilihat lewat dua layar, aplikasi ponsel dan web. Layar aplikasi ditetapkan menjadi tiga.

  • Layar login: Login dengan Google.
  • Daftar catatan: Orang yang login melihat catatan lari yang sudah ia buat sejauh ini, dari yang terbaru.
  • Tambah catatan: Mencatat jarak, waktu, pace, rute, dan tanggal lari.

Intinya adalah "setiap orang hanya melihat catatannya sendiri". Kepada orang yang login hanya disampaikan catatan yang ia buat sendiri, dan catatan orang lain tidak terlihat. Kondisi inilah yang di belakang membuat login anggota dan izin sama-sama diperlukan.

Layar login STRIDE. Terdapat kalimat pengantar aplikasi dan tombol lanjutkan dengan Google

Layar daftar catatan (beranda). Terlihat ringkasan total jarak, jumlah lari, dan rata-rata pace bulan ini beserta kartu catatan lari terbaru

Layar tambah catatan. Terlihat masukan foto rute, tanggal, jarak, waktu, serta rata-rata pace yang dihitung otomatis dan memo

Anda boleh langsung menuju sisi yang Anda minati. Jika Anda membuat aplikasi ponsel, lihat Memakai sebagai aplikasi; jika Anda membuat web, lihat Memakai sebagai web. Namun bagian "backend di balik layar" di bawahnya sama saja entah untuk aplikasi entah untuk web, jadi jika Anda menelaahnya lebih dulu, kedua cabang akan tersambung dengan baik.

Backend di balik layar (sama untuk aplikasi dan web)

Setelah membuat layar dan menyambungkannya, jika Anda berkata kepada agent "integrasikan dengan WEEGLOO" (Menghubungkan · Integrasikan dengan satu kalimat), agent akan memeriksa layar dan menyiapkan apa yang dibutuhkan di balik layar. Yaitu kerangka data untuk menampung catatan lari (Content Type), login Google (ServiceLogin), izin "hanya milik sendiri" (ServiceUserRole), dan publikasi (delivery) yang menurut izin itu mengirimkan kepada setiap anggota hanya catatan miliknya sendiri. Backend ini sama entah Anda mulai dari layar aplikasi entah dari layar web, dan aplikasi maupun web memakainya bersama apa adanya. Cara menangani setiap bagian secara terpisah dibahas satu per satu di Menambahkan pendaftaran dan login anggota · Membagi izin · Menyimpan dan mengambil data.

Di bawah ini adalah sumber daya yang benar-benar dibuat di Stride Space contoh ini. Ini bukan cara menyetel satu per satu, melainkan melihat apa yang muncul sebagai hasil dari "integrasikan".

Kerangka penampung catatan lari

Yang pertama adalah kerangka penampung catatan lari (Content Type) "Run". Nilai yang ditampung dalam satu catatan lari terbagi menjadi kolom-kolom per item.

Layar konfigurasi field Content Type catatan lari "Run". Lima kolom Date, Distance (km), Duration (seconds), Notes, dan Route photo tampil beserta jenis dan status wajib-tidaknya

ItemJenis kolomWajibNilai yang ditampung
DateDateWajibTanggal lari. Dipakai juga sebagai judul yang menandai catatan di daftar.
Distance (km)NumberWajibJarak lari (kilometer). Dimasukkan hingga angka desimal.
Duration (seconds)IntegerWajibWaktu tempuh (dalam satuan detik). Di layar ditampilkan dalam menit dan detik seperti 41:05.
NotesLong TextOpsionalMemo lari hari itu.
Route photoMediaOpsionalSebuah berkas peta rute atau foto.

Rata-rata pace tidak memiliki kolom penyimpanan tersendiri. Karena itu nilai yang muncul begitu ada jarak dan waktu, aplikasi menghitungnya begitu saja dan menampilkannya (bagian "auto-calculated" di layar tambah catatan).

Login Google

Yang kedua adalah jalur bagi anggota untuk login dengan Google (ServiceLogin). Pada contoh ini namanya ditetapkan menjadi "Stride", dan cara login hanya mengaktifkan satu, yaitu Google. Orang yang baru login menerima izin "Runner" di bawah sebagai bawaan. Setelah login selesai, hasilnya kembali ke layar, tetapi cara kembalinya sedikit berbeda antara aplikasi dan web. Perbedaan itu dibahas masing-masing di Memakai sebagai aplikasi dan Memakai sebagai web.

Izin "hanya catatan sendiri"

Yang ketiga adalah izin yang diterima anggota (ServiceUserRole) "Runner". Aturannya seperti ini.

Yang boleh dilakukanCakupan penerapan
Membuat catatanAnggota mana pun yang login
Membaca catatanHanya yang dibuat sendiri
Menyunting catatanHanya yang dibuat sendiri
Menghapus catatanHanya yang dibuat sendiri

Karena "membaca" diikat menjadi "hanya yang dibuat sendiri", di daftar hanya muncul catatan milik masing-masing. Karena catatan yang terbaca oleh setiap anggota hanyalah miliknya sendiri, itulah daftar yang dikirimkan kepada orang tersebut. Aturan ini berlaku sama entah untuk aplikasi entah untuk web.

Catatan dan foto

Yang keempat adalah setiap catatan lari (Content) dan foto rute (Media). Keduanya bukan dibuat lebih dulu, melainkan dibuat satu per satu atas nama orang tersebut ketika anggota mencatat larinya. Di bawah ini adalah satu catatan yang benar-benar dibuat. Kerangka "Run" tadi terisi nilai, dan foto rute menempel bersamanya.

Layar rincian satu catatan lari. Tanggal 2026-07-09, jarak 42.195km, waktu 13980 detik, memo "Mission complete!", dan foto rute menempel bersamanya

Jarak 42.195 adalah jarak penuh maraton. Waktu ditampung dalam satuan detik (di sini catatan sepanjang 3 jam 53 menit), dan di layar ditampilkan seperti 3:53:00. Foto rute disimpan tersendiri sebagai berkas (Media), dan catatan hanya menampung tautan yang menunjuk ke berkas itu.

Memakai sebagai aplikasi

Yang pertama adalah aplikasi ponsel. Anda membuat layar aplikasi, lalu mengisi balik layar itu dengan Backend di balik layar di atas.

Membuat layar aplikasi dan mengintegrasikannya

1. Membuat desain layar. Tiga layar pada "Apa yang dibuat" di atas dihasilkan dengan memberikan prompt seperti di bawah kepada LLM. Cukup tuliskan satu baris tentang aplikasi apa yang dibuat, daftar layar dan isi setiap layar, serta arah desainnya.

Desainkan layar untuk aplikasi pelacak lari. Ini aplikasi seluler potret.

Layar:

  • Login: satu baris pengantar aplikasi dan tombol "lanjutkan dengan Google".
  • Daftar catatan (beranda): ringkasan total jarak dan jumlah lari, daftar kartu catatan lari (tanggal, jarak, waktu, pace, thumbnail rute), tombol tambah catatan.
  • Tambah catatan: masukan tanggal, jarak, waktu, pace, memo, foto rute, dan simpan.

Buat dengan kesan rapi dan aktif, agar angka seperti jarak dan pace terbaca sekilas. Ikuti kebiasaan UI seluler.

Layar yang keluar seperti ini masih dalam keadaan berupa layar saja, belum ada data maupun login.

2. Mengintegrasikan dengan WEEGLOO. Jika Anda menghubungkan agent ke WEEGLOO dan berkata "integrasikan dengan WEEGLOO", agent akan memeriksa layar-layar ini dan menyiapkan Backend di balik layar di atas.

Dua hal yang perlu diurus karena ini aplikasi

Backend-nya sama persis seperti saat membuat dengan web. Ada dua hal yang perlu diurus karena ini aplikasi.

  • Deploy: Menyampaikan aplikasi seluler yang sudah jadi ke tangan orang-orang (pendaftaran ke app market) berlangsung di luar WEEGLOO. Yang ditangani WEEGLOO adalah data, anggota, dan izin di balik layar aplikasi. (Web tidak memiliki app market. Dibahas di Memakai sebagai web.)
  • Login callback: Sambungan untuk menerima kembali hasilnya ke aplikasi setelah login selesai berbeda dari web. Hasil login hanya bisa kembali ke alamat web, sehingga diperlukan satu tahap halaman yang berperan sebagai jembatan perantara untuk meneruskan hasil itu ke aplikasi. Langkah teknis ini dibahas di Auth API.

Melihat apakah benar hanya catatan sendiri

Kondisi inti "setiap orang hanya melihat catatannya sendiri" benar-benar terjaga di aplikasi. Di bawah ini adalah layar beranda yang membuka aplikasi yang sama dengan dua akun berbeda. Meski aplikasinya sama, total jarak, jumlah lari, maupun catatan yang muncul di daftar berbeda.

Layar beranda satu akun. Bulan ini hanya terlihat 5.0km, 1 lari (5.00km pada Wed, Jul 1)

Layar beranda akun lain. Bulan ini terlihat 45.2km, 2 lari (maraton 42.20km pada Thu, Jul 9 dan 3.00km)

Pada satu akun hanya muncul satu catatan 5km, pada akun lain hanya muncul dua catatan, maraton dan 3km. Catatan satu sama lain tidak terlihat oleh pihak lawan. Di Stride ketiga catatan ini semuanya tersimpan, tetapi kepada tiap anggota hanya dikirimkan catatan yang ia buat sendiri. Ini adalah hasil dari mengikat "membaca" menjadi "hanya yang dibuat sendiri" pada Izin "hanya catatan sendiri" di atas.

Memakai sebagai web

Web memakai backend yang sama dengan aplikasi apa adanya. Web membaca Backend di balik layar di atas dan menampilkan catatan yang sama.

Membuat layar web dan mengintegrasikannya

Web juga dua langkah yang sama dengan aplikasi.

1. Membuat desain layar web. Sama seperti aplikasi, Anda menghasilkan layar web dengan memberikan prompt seperti di bawah kepada LLM. Isi yang ditampung sama dengan aplikasi, dan diubah menjadi tata letak web yang menyesuaikan layar lebar.

Desainkan layar web pelacak lari. Ini web desktop.

Layar:

  • Login: satu baris pengantar layanan dan tombol "lanjutkan dengan Google".
  • Daftar catatan (dashboard): ringkasan total jarak, jumlah lari, rata-rata pace, daftar catatan lari (tanggal, jarak, waktu, pace, thumbnail rute), tombol tambah catatan.
  • Tambah catatan: masukan tanggal, jarak, waktu, pace, memo, foto rute, dan simpan.

Buat dengan tata letak yang memanfaatkan layar lebar, agar angka seperti jarak dan pace terbaca sekilas. Ikuti kebiasaan UI web.

2. Mengintegrasikan dengan WEEGLOO. Katakan kepada agent yang terhubung "integrasikan web ini juga dengan WEEGLOO". Jika Anda sudah membuat aplikasi, agent tidak mendirikan ulang Backend di balik layar di atas, melainkan menyambungnya apa adanya. Tidak ada sumber daya WEEGLOO baru yang dibuat. Yang baru dibuat di web hanyalah layar web. (Jika Anda memulai dari web tanpa melewati aplikasi, backend itu pertama kali muncul pada saat ini, dan ketika kemudian Anda menambah aplikasi pun tetap memakainya apa adanya. Sisi mana pun, backend-nya sama.)

Dashboard web STRIDE. Terlihat menu kiri (Runs, Stats, Goals, Settings) dan ringkasan total jarak bulan ini 45.2km, 2 lari, rata-rata pace 5'28", serta pada tabel lari terbaru catatan 3.00km dan maraton 42.20km tampil bersama foto rute

Layar web ini adalah membuka di web akun yang muncul pada Melihat apakah benar hanya catatan sendiri (bulan ini 45.2km, maraton 42.20km dan 3km). Total jarak, jumlah lari, dan catatannya sama persis dengan beranda aplikasi. Karena backend-nya satu, data yang ditampilkan aplikasi itu ditampilkan oleh web apa adanya di layar desktop.

Dua hal yang berbeda karena ini web

Web juga punya dua hal yang berbeda dari aplikasi, tetapi arahnya berlawanan dengan aplikasi sehingga kali ini justru lebih sedikit yang perlu diurus.

  • Deploy: Web tidak memerlukan app market. Berkas web yang dibuat langsung ditayangkan ke internet dengan Web Hosting (Menayangkan situs ke internet).
  • Login callback: Pada web, hasil login langsung kembali ke alamat web. Halaman jembatan perantara yang diperlukan pada aplikasi boleh tidak ada pada web.

Karena izinnya tetap, di web pun setiap anggota hanya melihat catatannya sendiri. Izin "hanya catatan sendiri" di atas berlaku sama pada web.

Langkah berikutnya