Apa itu Moco-BaaS?

MocoBaaS merupakan solusi pengembangan API yang siap pakai (instant API) dalam mendorong percepatan proses pengembangan aplikasi secara keseluruhan. Aktivitas pengembangan API dan konfigurasi dapat dilakukan menggunakan MocoBaaS Console. Sedangkan pengembang JavaScript (web maupun mobile) dapat menggunakan JavaScript Client SDK.

MocoBaaS pada awalnya dikembangkan di atas framework Express. Lalu pada versi 2, sebagian fiturnya ditulis ulang ke compiled language, terutama Golang. Modifikasi langsung folder project tanpa melalui Console sangat tidak direkomendasikan karena dapat menimbulkan potensi malfungsi.

Fitur

User

  • Instant API untuk prosedur register, login, logout, reset password, dan update profile
  • Mekanisme login berbasis OAuth siap pakai untuk Facebook, Google, dan Twitter
  • Definisi hak akses berbasis RBAC (role-based access control) [console]
  • Penentuan hak akses untuk data user [console]

Data & Storage

  • Instant API untuk upload dan download file
  • Instant API untuk operasi CRUD pada setiap tabel dalam database
  • Manajemen struktur tabel yang mencakup relasi dan index [console]
  • Penentuan hak akses tabel hingga tingkat kolom (column-level access) berdasarkan konfigurasi RBAC [console]

Notifikasi

  • Instant API untuk berlangganan dan mengirimkan notifikasi (email dan push notification)
  • Sistem template untuk penulisan konten notifikasi [console]

Event & Queue

  • Instant API untuk mengirimkan custom event ke server
  • Manajemen definisi queue (Job atau Message) untuk keperluan custom event [console]

Custom Script

  • Penggunaan custom script untuk implementasi custom business logic
  • Akses fungsi-fungsi MocoBaaS di dalam context custom script, yaitu: cache, tabel, file, notifikasi, user
  • Eksekusi custom script secara terjadwal menggunakan distributed cron scheduler
  • Eksekusi custom script berbasis event dari operasi tabel ataupun custom event
  • Penulisan script yang dilengkapi dengan fitur code completion [console]
  • Konfigurasi untuk mekanisme eksekusi script [console]
  • Package Manager untuk manajemen dependensi dalam penulisan script [console]

API

  • Standarisasi Instant API dalam format JSON:API
  • Dokumentasi otomatis berbasis OpenAPI untuk Instant API pada tabel dan custom script

Kebutuhan

Dukungan untuk sistem operasi Windows masih dalam ujicoba, mohon dapat menggunakan OSX atau Linux.

Umum

Pastikan telah melakukan instalasi berikut ini pada komputer pengembang (developer):

  • Node.js >=12
  • NPM >=6
  • Visual Studio Code beserta ekstensi MocoBaaS Console
  • Docker >= 19.03

Infrastruktur pendukung

Penggunaan MocoBaaS memerlukan adanya beberapa komponen pendukung lainnya, antara lain:

  • PostgreSQL 10
  • Redis >=5
  • RabbitMQ >=3.8.0

Selama proses pengembangan aplikasi, disarankan untuk menggunakan docker-compose yang telah disediakan di dalam project folder untuk membuat infrastruktur lokal.