Catatan Sync — Klien Mobile Obsidian
Klien Android dan web untuk membaca serta menyunting catatan Obsidian dari mana saja. Tidak menyimpan data apa pun di perangkat — seluruh isinya datang dari API catatan-sync.
Klien Android untuk layanan api-catatan — aplikasi Expo / React Native untuk membaca, mencari, dan (bagi pemilik) menulis vault Obsidian. Aplikasi ini tidak menyimpan apa pun di perangkat: tidak ada basis data lokal, tidak ada koneksi langsung ke MongoDB, semuanya lewat REST API yang sudah ada.
📱 Aplikasi Android Tersedia
Versi build Android terbaru dapat langsung dipasang melalui Expo:
👉 Unduh & Pasang Aplikasi Catatan di Expo
Sorotan
- Klien yang sengaja tanpa status lokal — tidak ada penyimpanan di perangkat yang bisa melenceng dari server, dan tidak ada kredensial yang bisa bocor, karena setiap baca dan tulis adalah panggilan API. Konsekuensinya jujur: tanpa jaringan, tidak ada yang bisa ditampilkan.
- Satu layar, dua identitas — masuk sebagai pemilik tidak membuka area admin terpisah; ia mengubah apa yang dirender layar yang sama. Catatan pribadi jadi terbaca dan folder terkunci muncul beserta jumlahnya. Tombol tulis digantungkan pada penanda
pemilikdi respons server, dan server menegakkannya sendiri lewatverifyAdmin, sehingga menyembunyikan tombol adalah urusan tampilan, bukan keamanan. - Catatan bersama tanpa akun — dibuka lewat kode atau tautan, kata sandi ditukar dengan token 12 jam, lalu isi dan daftar kehadiran menyegar sendiri lewat long-polling.
- Bentrok ditawarkan, tidak pernah ditimpa diam-diam — penyuntingan bersama berjalan di balik penjaga revisi, sehingga dua orang yang menyunting catatan sama mendapat pilihan alih-alih salah satu kehilangan tulisannya.
- Tiga lapis, satu arah — layar → hook (TanStack Query) → api (axios). Layar tidak pernah memanggil axios, lapisan api tidak pernah mengimpor React, dan
src/types/api.tsmenjadi sumber kebenaran tunggal untuk bentuk data di kedua sisi. - Expo Go tidak bisa menjalankannya, dan itu disebutkan sejak awal — Expo Go di Play Store adalah SDK 54 sementara project ini SDK 57, sehingga pengujian di perangkat berarti APK hasil EAS. Build rilis hanya menyasar
arm64-v8a, dengan minifikasi dan penyusutan resource diaktifkan.
Fitur Utama
- Penjelajah folder — navigasi remah roti yang berubah menjadi hasil pencarian begitu mulai diketik, dengan saran autocomplete dan penyaringan ekstensi.
- Pembaca — markdown dengan wikilink Obsidian yang bisa diketuk,
.txtsebagai teks polos, penyorotan kata kunci, serta salin dan bagikan. - Penyuntingan oleh pemilik — membuat, menyunting, dan menghapus catatan; pengelolaan folder lengkap termasuk membuat, mengganti nama, mengunci dan membuka, mengurutkan, serta menghapus.
- Deep link — tautan aplikasi HTTPS terverifikasi yang menunjuk ke host
api-catatan, sehingga URL catatan yang dibagikan terbuka di aplikasi, bukan di browser. - Pembaruan over-the-air —
expo-updatesmengirim perbaikan tanpa build toko yang baru. - Penyimpanan sesi di SecureStore — sesi pemilik disimpan di penyimpanan perangkat terenkripsi, bukan di preferensi biasa.
Tech Stack
- Expo SDK 57 + React Native, Expo Router
- TypeScript, dengan
tsc --noEmitsebagai gerbang tipe - TanStack Query (state server) + axios (transport)
- react-hook-form + zod (validasi formulir)
- expo-secure-store (sesi), expo-updates (OTA)
- @shopify/flash-list, react-native-reanimated, react-native-marked
- Jest (18 berkas test)
- EAS Build (APK Android, arm64-v8a)
Status & Kematangan
Aktif. Pengembangan sehari-hari berjalan di --web, tempat pencarian, folder, pembaca, dan permukaan admin semuanya berfungsi; hanya Share, Alert, dan pemilih dokumen yang benar-benar butuh APK asli untuk diverifikasi. Satu perintah npm run dev:full menyalakan backend api-catatan sungguhan, mendeteksi IP LAN mesin ini, lalu mengarahkan aplikasi ke sana — detail yang penting karena ponsel tidak bisa menjangkau localhost milik komputer pengembang. Impor berkas sengaja tidak ada di sini dan tetap berada di panel web.
Metrik Terukur
| Commit | 18 |
| Rentang Tanggal | 10 Agu 2026 – 13 Agu 2026 |
| Baris kode | 26.521 |
| Test | 18 berkas test Jest |