AyoSehat App
Detail Proyek
Ayo Sehat — Digital Clinic & Telemedicine Platform
Platform klinik digital dan telemedis lintas platform yang mengintegrasikan aplikasi mobile pasien (Flutter) dengan portal operasional admin dan dokter (Laravel Filament). Menangani alur layanan end-to-end mulai dari pemesanan konsultasi, integrasi pembayaran Midtrans, hingga sistem obrolan real-time berbasis Firebase. Berkontribusi sebagai Full-Stack Engineer — menstabilkan arsitektur aplikasi, melakukan migrasi payment gateway, dan memoles logika sinkronisasi real-time chat lintas platform.
Ringkasan Proyek
- Kategori: Personal Project
- Peran: Full-Stack Engineer
- Tech Stack:
- Mobile: Flutter, Dart, BLoC Pattern, FVM
- Backend & Web Admin: Laravel 11, Sanctum, MySQL, Filament v3
- Real-Time & Integration: Firebase Auth, Cloud Firestore, Midtrans Snap API, OneSignal
Masalah yang Dihadapi
Sebelum platform ini distabilkan, proses layanan klinik digital mengalami fragmentasi operasional:
- Alur Layanan Terputus: Pemesanan dan sesi konsultasi tidak terstruktur dengan baik, menyulitkan pelacakan riwayat pasien.
- Inkonsistensi Pembayaran: Status pembayaran sering kali menggantung (stuck on pending), tanpa transparansi yang jelas antara aplikasi pasien dan dashboard admin.
- Komunikasi Tidak Real-Time: Kendala pada sinkronisasi obrolan antara pasien dan dokter menghambat respons medis.
- Keterbatasan Visibilitas Operasional: Administrator kesulitan memantau status sesi secara langsung, melakukan sinkronisasi paksa pada transaksi yang bermasalah, atau menangani handover dokter.
Kontribusi Full-Stack Saya
- Stabilisasi Arsitektur Lintas Platform: Menyelaraskan kontrak API dan alur data antara klien Flutter, backend Laravel, panel web Filament, dan layanan Firebase.
- Migrasi Payment Gateway & Penanganan Webhook: Memigrasikan alur pembayaran dari Xendit ke Midtrans. Menerapkan sinkronisasi status otomatis via webhook callback lengkap dengan mekanisme fallback dan sinkronisasi manual.
- Refactoring Logika Real-Time Chat: Menata ulang arsitektur obrolan Firebase dengan menormalisasi
channelIdberbasis pesanan (order-based channels), mengamankan status sesi, serta memperbaiki sistem kalkulasi read/unread/seen. - Pengembangan Web Doctor Room Chat: Membangun antarmuka portal obrolan dokter di sisi web untuk memfasilitasi komunikasi real-time lintas platform (Web ke Mobile) dengan indikator unread counter instan.
- Pembangunan Modul Operasional Admin (Filament): Memperluas kapabilitas dashboard dengan fitur pemantauan pesanan, sinkronisasi status pembayaran manual, mekanisme handover dokter, serta pencatatan log aktivitas (audit logging).
- Hardening UX/UI Mobile: Mengimplementasikan perbaikan navigasi, penambahan status badge (Pending/Deactivated), perbaikan layar kosong (empty states), dan penyempurnaan interaksi pembaruan data (pull-to-refresh).
Fitur Utama Produk
- Integrated Consultation Order Flow
Alur pemesanan telemedis dan obrolan premium (Premium Chat) yang mengamankan siklus layanan mulai dari statusPending,Active, hinggaDeactivated. - Automated Midtrans Payment System
Siklus pembayaran end-to-end mencakup pembuatan transaksi Snap, verifikasi signature callback, dan pembaruan status faktur secara atomik. - Firestore-Powered Real-Time Consultation
Sistem obrolan medis berkecepatan tinggi dengan saluran terisolasi per transaksi (orderId), pembatasan pengiriman pesan sesuai status sesi, dan metadata waktu (last message/time). - Doctor Consultation Portal (Web)
Ruang kerja dokter berbasis web yang modern, menampilkan antrean obrolan pasien, indikator pesan belum terbaca, dan riwayat konsultasi. - Centralized Clinic Administration
Panel Filament untuk mengelola data master (klinik, spesialis, dan dokter multi-spesialis), serta alat intervensi operasional langsung untuk menangani anomali transaksi. - Dynamic Content Management
Pengelolaan halaman informasi statis (Kebijakan Layanan & Bantuan) melalui database yang dapat diubah oleh admin via dashboard tanpa perlu merilis pembaruan aplikasi seluler.
Tantangan Teknis & Solusi
-
Inkonsistensi Status Pembayaran (Stuck on Pending):
Tantangan: Keterlambatan atau kegagalan jaringan menyebabkan status transaksi tidak diperbarui di aplikasi.
Solusi: Mengimplementasikan callback webhook Midtrans, menambahkan endpoint sinkronisasi status khusus dengan perlindungan race-condition, serta menyediakan tombol aksi sinkronisasi manual untuk admin. -
Integritas Sesi Obrolan & Validasi Kredensial:
Tantangan: Penentuan partner chat dan validasi izin pengiriman pesan sering kali tidak konsisten.
Solusi: MenormalisasichannelIdberbasis ID Pesanan, merancang fungsi fallback lookup, dan memvalidasi kecocokan UID/email antar-partisipan sebelum pesan dieksekusi ke Firestore. -
Sinkronisasi State Read/Unread yang Tidak Akurat:
Tantangan: Status jumlah pesan belum terbaca sering berkedip (flicker) atau tidak menghitung dengan benar.
Solusi: Mengubah logika kalkulasi menjadi perbandingan antara atributreadAtdengan timestamp pesan terbaru, dikombinasikan dengan operasi pembaruan atomik (atomic updates) untukunreadCount. -
Reliabilitas Pengiriman Notifikasi Push:
Tantangan: Pengiriman notifikasi OneSignal tidak stabil dan terkadang memicu notifikasi ganda ke pengirim sendiri (self-notify).
Solusi: Menormalisasi target token, memfilter ID pengirim dalam payload notifikasi, serta menyediakan mekanisme fallback berupa notifikasi dalam aplikasi (toast alerts) di platform web.
Pembelajaran & Pencapaian
- Menstabilkan ekosistem lintas platform dengan mengorkestrasi Flutter (BLoC), Laravel REST API, dan sinkronisasi data Firebase secara terpadu.
- Menyelesaikan anomali siklus pembayaran (payment lifecycle) melalui integrasi webhook atomik Midtrans dan mekanisme manual override.
- Merancang alur komunikasi data real-time yang aman dan terstruktur untuk memfasilitasi sesi telemedis yang kritis.
Spesifikasi Proyek
Ingin Proyek Serupa?
Tim ahli kami siap membantu Anda merealisasikan inovasi sistem software terbaik.
Project Showcase
12 Tangkapan Layar





Proyek Lainnya
Jelajahi karya rekayasa perangkat lunak lainnya.

Koperasi Sedia
Cooperative core banking platform: automated savings, flat & annuity loans, daily cash register, proportional dividend allocation, and print-ready legal loan agreements.

SupportSense AI
Autonomous enterprise AI customer support engine fusing Hybrid RAG + KAG (PostgreSQL & ChromaDB) for zero-hallucination order tracking and cost-efficient sub-second routing.

Bizinsight AI
BizInsight AI adalah sistem Multi-Agent yang mengubah pertanyaan bisnis sehari-hari menjadi query database, grafik interaktif, dan wawasan bisnis otomatis tanpa perlu paham SQL.