Tidak Ada Domain? Tidak Perlu
Aplikasi berbicara ke localhost (127.0.0.1:9026) — gratis, milik sendiri, dan selalu ada.
Lapisan lokal di depan Firebase Realtime Database
Aplikasi Anda cukup bicara ke 127.0.0.1:9026. NxfireDB
meneruskan ke Firebase, menyembunyikan URL panjang, format .json,
dan token auth — plus cache, antrian offline,
dan realtime WebSocket lokal.
Lahir dari keterbatasan — domain mahal, database berbayar mahal. Keterbatasan bukan penghalang untuk berkarya.
Aplikasi berbicara ke localhost (127.0.0.1:9026) — gratis, milik sendiri, dan selalu ada.
Cukup tier gratis Firebase. URL panjang, format .json, dan token auth diganti satu perintah JSON sederhana.
Antrian offline menyimpan operasi tulis lalu mengirimnya ulang saat koneksi kembali — data tidak hilang.
Auto-start menyalakan ulang server sendiri saat komputer menyala.
Perantara lokal C++ native — tidak menyimpan data sendiri, semua data tetap di Firebase.
Gaya path Firebase (/users/iyan) atau gaya tabel yang ramah (table+key). Alias: put/insert/select/delete.
cache_ttl menyimpan respons GET di memori — latency < 1 ms, bukan 100-300 ms ke cloud. Otomatis dibatalkan saat ada tulis.
Subscribe per path lewat ws://127.0.0.1:9026/ws — perubahan didorong ke aplikasi Anda tanpa koneksi langsung ke Firebase.
Tulis yang gagal disimpan ke nxfire.queue.json dan dikirim ulang otomatis saat Firebase terjangkau.
orderBy, startAt, endAt, equalTo, limitToFirst/Last, shallow — langsung dari perintah JSON Anda.
{ ok, data, meta: latency_ms } saat sukses; { ok, error, hint } saat gagal — prediktabel di semua SDK.
Sejak token pertama dibuat, semua perintah wajib Bearer nxf_... — disimpan sebagai hash SHA-256, dengan role admin/user dan rotasi token.
Setup sekali, lalu lupakan bahwa Firebase ada di baliknya.
nxfire setup # isi project, secret, port nxfire test # uji koneksi ke Firebase nxfire start # server jalan di latar belakang nxfire stop # hentikan server nxfire status # status server & autostart nxfire autostart # on/off saat komputer menyala # pantau path realtime nxfire-watch /chat --port 9026
{ "op": "set", "path": "/users/iyan",
"value": { "name": "iyan", "age": 30 } }
{ "op": "get", "path": "/users/iyan" }
{ "op": "update", "path": "/users/iyan",
"value": { "age": 31 } }
{ "op": "push", "path": "/chat/room1",
"value": { "text": "halo" } }
{ "op": "remove", "path": "/users/iyan" }
// gaya tabel yang ramah
{ "op": "insert", "table": "users",
"keyFrom": "name", "data": { "name": "iyan" } }
nxfire.json: project, region, api_key, secret, port (9026), cache_ttl, offline_queue.
Klien resmi siap pakai — atau tulis sendiri: protokolnya hanya HTTP + JSON.
Termudah lewat npm — atau unduh paket Rilis v0.2.1.
Semua paket tersedia di Releases v0.2.1. Ekstrak lalu salin isi bin/ ke folder yang ada di PATH.
npm create nxfire-app@latest
# terpasang ke folder data + masuk PATH.
# lalu buka terminal baru:
nxfire setup
nxfire start
cmake -S . -B build -G "Visual Studio 17 2022" -A x64 cmake --build build --config Release # hasil: nxfire-server, nxfire-client, # nxfire, nxfire-watch node tests/run_all.mjs # uji vs mock Firebase
C++ native (WinHTTP di Windows, socket di Linux) — tanpa dependensi eksternal. Uji otomatis berjalan terhadap mock Firebase lokal, tanpa kredensial asli.