Qomunal — Platform Komunitas & Manajemen Anggota
Sisi backend untuk platform komunitas: manajemen anggota, modul event, chatroom, survei, dan opsi white-label untuk merek sendiri.
Masalahnya
Sebuah komunitas bukan satu jenis pengguna. Pengurus, anggota, dan calon anggota melihat hal yang berbeda dari objek yang sama, dan aturannya berbeda dari satu komunitas ke komunitas lain. Opsi white-label menambah satu lapis lagi: satu sistem melayani banyak komunitas yang datanya tidak boleh saling terlihat. Di sisi lain ada aplikasi mobile, yang setiap perjalanan jaringannya terasa oleh pengguna.
Cara saya menanganinya
Batas antar komunitas dan antar peran ditegakkan di lapisan data, bukan di antarmuka — menyembunyikan sesuatu di layar tidak menyembunyikannya dari siapa pun yang memanggil API langsung, dan pada sistem multi-komunitas kekeliruan seperti itu bocor ke penyewa lain, bukan sekadar ke pengguna yang salah. GraphQL dipilih untuk sisi klien: satu layar mobile mengambil persis data yang dibutuhkannya dalam satu perjalanan, alih-alih merangkai beberapa endpoint yang masing-masing mengirim lebih banyak dari yang dipakai.