Histeel Membership App
Aplikasi keanggotaan resmi Histeel untuk Android & iOS — dibangun dengan Flutter, arsitektur berlapis, dan sistem loyalitas terintegrasi penuh.
Kartu keanggotaan digital dalam genggaman
Histeel App menyatukan profil member, poin loyalitas, transaksi, voucher, hadiah, promo,
lokasi cabang, dan notifikasi dalam satu pengalaman yang rapi dan cepat — sepenuhnya berbahasa
Indonesia (id_ID).
Sistem Loyalitas
Kumpulkan & tukar poin, akses katalog hadiah, voucher, dan promo eksklusif member.
Arsitektur Matang
Pola feature-first berlapis (UI → State → Repository → API) yang skalabel & mudah dipelihara.
Aman by Design
Token terenkripsi di level OS, autentikasi otomatis, dan penanganan sesi kedaluwarsa.
Sepuluh modul, dua puluh satu layar
Setiap fitur berdiri sendiri dengan model data, repository, provider, dan layar UI-nya sendiri.
Perjalanan dari splash ke fitur
Penjaga sesi (route guard) memastikan pengguna selalu berada di tempat yang tepat.
Penjaga Sesi Otomatis
Bila token kedaluwarsa atau tidak valid (respons 401) di tengah
penggunaan, aplikasi otomatis menghapus sesi dan mengarahkan pengguna kembali ke login — tanpa
membuat aplikasi error.
Empat lapisan, satu arah aliran data
Setiap lapisan punya tanggung jawab tunggal sehingga mudah diuji, dipelihara, dan dikembangkan.
api-mobile.ikhtiar.site · sumber data sebenarnya
Provider
State management resmi rekomendasi tim Flutter. 9 provider global menjaga state antar tab.
GoRouter
StatefulShellRoute menjaga state tiap tab + route guard otomatis ke login.
Dio
Interceptor menyisipkan token & logging otomatis di setiap request.
lib/ ├─ core/ komponen inti bersama │ ├─ network/ HTTP, endpoint, interceptor │ ├─ router/ definisi rute & route guard │ ├─ storage/ secure & local storage │ ├─ theme/ warna, font, komponen │ └─ widgets/ shell & widget bersama └─ features/ 10 modul fitur └─ <fitur>/ ├─ models/ struktur data + parsing JSON ├─ repositories/ komunikasi dengan API ├─ providers/ state & logika bisnis └─ screens/ tampilan antarmuka (UI)
Setiap modul menerapkan keempat lapisan secara konsisten — keseragaman ini yang membuat aplikasi mudah dirawat.
Pustaka matang & teruji industri
Seluruh versi dependensi terkunci untuk menjamin stabilitas build.
REST API terstruktur
Base URL https://api-mobile.ikhtiar.site/api/v1 · format JSON
standar { data, meta, errors } dengan pagination.
{ "data": { "points_balance": 12500, "last_calculated_at": "2026-06-16T09:30:00Z" }, "meta": { "pagination": { "current_page": 1, "per_page": 20, "total": 48 } }, "errors": null // diisi saat terjadi kesalahan }
Indikasi teknis menunjukkan backend kemungkinan berbasis
WordPress (referensi wp_user_id pada data poin) — menjelaskan integrasi
konten artikel & banner.
Perlindungan sejak baris pertama
Aspek keamanan menjadi perhatian sejak awal pengembangan.
Token Terenkripsi OS
flutter_secure_storage — Keychain (iOS) & EncryptedSharedPreferences (Android).
Pemisahan Data
Data sensitif (token) terpisah dari data non-sensitif (ID, onboarding).
Auto-Authorization
Setiap request menyertakan header Bearer token via interceptor.
Timeout 30 Detik
Mencegah aplikasi menggantung saat koneksi bermasalah.
Sesi Kedaluwarsa
Respons 401 otomatis menghapus seluruh data sesi & arahkan login ulang.
HTTPS End-to-End
Seluruh komunikasi terenkripsi melalui transport aman.
Catatan Phase 1
Sistem belum menggunakan refresh token — saat token habis, pengguna login ulang. Mekanisme refresh token direkomendasikan untuk fase berikutnya demi kenyamanan pengguna.
Sistem desain Material 3 yang konsisten
Palet brand hitam-merah, font Be Vietnam Pro, dan komponen bertema terpusat.
Aa Bb Cc · 0 1 2 3 4 5 6 7 8 9 — skala tipografi lengkap dari Display hingga Caption, konsisten di seluruh aplikasi.
Floating Bottom Nav
5 tab dalam pill mengambang — Beranda, Transaksi, Poin, Lokasi, Akun. Tab aktif beraksen merah.
Material 3 · Light Theme
Komponen bertema terpusat, latar terang, aksen hitam-merah.
Mode Potret Terkunci
Orientasi portrait dengan system nav bar gelap brand.
State Antar Tab Terjaga
Berpindah tab tidak mereset posisi scroll & data tiap halaman.
Distribusi layar & kesiapan proyek
Sebaran 21 layar per modul dan tingkat penyelesaian tiap area menuju rilis.
Papan kesiapan menuju rilis
Dikelompokkan berdasarkan prioritas: wajib sebelum rilis, disarankan, dan sudah selesai.
com.example.histeel_mobile —
ganti ke ID resmi.Laporan ini disusun berdasarkan analisis langsung kode sumber per 16 Juni 2026. Untuk pertanyaan teknis lebih lanjut, silakan menghubungi tim pengembang.