Lewati ke konten
Horulabs

SURIMA League

Klasemen yang bisa dipercaya karena satu mesin menghitungnya.

SURIMA League mencatat hanchan sekali, menghitung placement, uma, oka, dan chombo dari aturan musim itu sendiri, lalu menjaga klasemen yang selalu berjumlah nol.

Alur satu hanchan saat ini

6 langkah

  1. MusimAturan dan uma ditetapkan
  2. EntriEmpat kursi, skor mentah
  3. PratinjauMesin berjalan langsung
  4. SimpanPoin dibekukan saat entri
  5. KlasemenOka diturunkan, berjumlah nol
  6. KembaliPemain membaca tabel

Hanchan berikutnya dicatat

Setiap hanchan melalui alur ini. Mengubah aturan musim hanya memengaruhi permainan berikutnya.

Liga hidup di dalam spreadsheet.

Satu orang mengetik empat skor, menyalin rumus ke bawah, dan berharap kolom uma benar. Placement, oka, dan chombo adalah aturan yang didekati spreadsheet, dan satu skor yang salah ketik tetap tinggal di klasemen.

Setiap musim aturannya berubah. Saat spreadsheet diperbarui, hasil musim lalu ikut berubah, karena rumus adalah satu-satunya catatan bagaimana hasil itu dihitung.

Pemain tidak punya alasan membuka spreadsheet di antara sesi. Klasemen hanya tempat mencari angka, bukan tempat kembali.

Aturannya pindah ke dalam musim.

Klasemen yang hanya spreadsheet dengan formulir web di atasnya tidak bisa menepati janji ini. Mesinnya adalah produknya.

SebelumSesudah
  1. Rumus disalin ke bawah

    Mesin skor murni

    Satu fungsi menentukan pratinjau dan hasil tersimpan, jadi keduanya tidak bisa berselisih.

  2. Aturan diubah di tempat

    Poin dibekukan saat entri

    Perubahan uma musim berlaku untuk hanchan berikutnya dan membiarkan riwayat tetap.

  3. Oka diketik sebagai kolom

    Oka diturunkan

    Klasemen selalu berjumlah nol karena distribusinya dihitung, bukan dimasukkan.

  4. Satu spreadsheet bersama

    Meja milik tiap parlor

    Multi-tenant: tidak ada kumpulan pemain bersama, dan bukan anggota mendapat 404.

  5. Tautan yang tidak dibuka

    Alasan untuk kembali

    Streak, level, lencana, ELO, dan trofi berdiri di samping klasemen.

Matematikanya adalah kepercayaannya.

Tiga peran, akun sungguhan, dan satu aturan: jangan pernah menampilkan angka yang tidak akan dihitung mesin.

  1. Mesin skor

    Placement, uma, oka, dan chombo dari aturan musim. Murni dan teruji, serta modul yang sama di balik pratinjau entri dan hasil tersimpan.

  2. Aturan musim

    Setiap musim membawa uma, poin awal, dan oka sendiri. Poin dibekukan saat entri, jadi riwayat tidak ditulis ulang oleh perubahan berikutnya.

  3. Peran dan sewa data

    Admin parlor, pemain, dan super-admin SURIMA. Setiap halaman dan aksi melewati penjaga; row-level security menjadi lapisan cadangan.

  4. Permukaan pemain

    Klasemen, riwayat hanchan lengkap, statistik pribadi, level, lencana, dan streak. Pemain masuk dengan Google dan meminta bergabung ke parlor.

  5. Meja milik tiap parlor

    Sembilan preset warna per parlor, mode gelap mengikuti OS, dan musim publik yang bisa dibaca pengunjung tanpa masuk.

  6. Permukaan berbagi

    Kartu klasemen digambar dua kali, untuk canvas dan gambar OG, agar hasil bisa berpindah ke grup komunitas.

Dibangun di atas aturan komunitasnya sendiri.

Istilah riichi tetap Jepang di kedua bahasa karena begitulah pemain berbicara. Antarmuka dua bahasa lewat cookie dan dirender sudah diterjemahkan.

Next.js 16 · React 19
Klasemen server-rendered, formulir entri, dan Server Actions.
Supabase
Postgres, autentikasi Google, dan penyimpanan aset milik parlor.
Drizzle ORM
Skema, migrasi, dan query bertipe.
Vitest
Uji mesin skor, gerbang nyata produk ini.

Hasil dicatat sekali, tabelnya berjumlah nol.

Klasemen liga dihitung dengan aturan tiap musim, setiap hasil dicatat sekali. Pemain bisa membaca tabel dari ponsel di antara sesi dan melihat persis posisinya.

  • Pratinjau dan penyimpanan memakai satu fungsi.
  • Perubahan aturan memengaruhi permainan berikutnya, bukan arsip.
  • Oka diturunkan, jadi tabel berjumlah nol.
  • Setiap parlor mendandani mejanya sendiri tanpa menyalin aplikasi.

Klien

SURIMA

SURIMA adalah komunitas riichi mahjong Indonesia di Surabaya. League menjalankan musim parlor sungguhan di league.surima.id, bersama aplikasi academy dan skor komunitas.

Ceritakan satu proses kerja. Kita petakan bersama.

Ceritakan tugas yang paling menyita waktu tim Anda, dan bagaimana prosesnya berjalan.

Percakapan pertama gratis, tanpa komitmen.