🩺 Probetes System Plan

Dari Manual ke Digital β€” Roadmap Membangun Ekosistem Kesehatan Diabetes


Tentang Saya

Faisol Dwiki Amrizal β€” Backend Developer & Fullstack Developer

πŸ“§ faisaldwiki69@gmail.com | πŸ“± +62 812 4910 1538


Proyek yang Paling Saya Banggakan

Sistem E-Commerce Terpadu β€” PT. Naisha Inspirasi Muslimah (3.5 tahun, 2021–2024)

Di perusahaan ini, saya membangun backend system e-commerce dari nol yang menangani seluruh operasional penjualan online β€” dari pengelolaan order, kontrol inventaris, hingga manajemen pengguna.

Apa yang dibangun:

Untuk siapa:

Hasilnya:

Pengalaman ini sangat relevan dengan kebutuhan Probetes β€” karena tantangannya identik: menyatukan data dari berbagai channel (WhatsApp, marketplace, web) ke dalam satu sistem terpusat.

Pengalaman Integrasi yang Relevan

Kategori Platform/Teknologi Pengalaman
Marketplace Shopee, Tokopedia, TikTok Shop, Lazada Integrasi API penuh β€” sync produk, order, pembayaran, stok
Payment Gateway PayPal, Stripe, RazorPay, Midtrans Integrasi pembayaran internasional & domestik
Crypto Payment Crypto payment gateway Integrasi pembayaran cryptocurrency
Real-time WebSocket + Banking API Komunikasi data real-time & tracking transaksi

Riwayat Kerja Singkat

Periode Perusahaan Peran Highlight
2025–2026 PT Coding Collectif Indonesia Fullstack Developer (Lead) Arsitektur proyek, WebSocket + Banking API, deployment pipeline
2021–2024 PT Naisha Inspirasi Muslimah Backend Developer E-commerce system, integrasi 4 marketplace, Redis caching
2021–2023 DV9 International PTE LTD (Singapore) Website Developer Multi-platform e-commerce, payment integration (PayPal, Stripe, RazorPay)
2019–Sekarang Freelance Web Developer Custom web apps, end-to-end project delivery

Pendidikan: S1 Teknik Informatika β€” Universitas PGRI Madiun (2016–2020)

Tech Skills: JavaScript, Node.js, Golang, SQL, Git, Laravel, HTML/CSS, Flutter

Daftar Isi

  1. Ringkasan Eksekutif
  2. Prioritasi: Apa yang Dibangun Duluan?
  3. Arsitektur Sistem & Tech Stack
  4. Alur Data: Dari Penjualan ke Laporan
  5. Desain Database
  6. Detail Per Modul
  7. Risiko & Mitigasi
  8. Timeline & Fase Pengembangan
  9. Metrik Keberhasilan

1. Ringkasan Eksekutif

Probetes saat ini beroperasi dengan sistem yang terfragmentasi β€” data penjualan tersebar di WhatsApp, marketplace, dan spreadsheet. Ini menciptakan tiga masalah utama:

Masalah Dampak
Data sales tidak real-time Keputusan bisnis terlambat
Tidak ada profil member terpusat Sulit melacak journey kesehatan member
Proses manual berulang Tim CS & operasional kewalahan seiring pertumbuhan

Solusi yang diusulkan: Membangun ekosistem digital terpadu yang terdiri dari 4 pilar:

graph TD A["🏒 ERP Terpusat β€” Otak Sistem"] B["🌐 Website β€” Etalase Digital"] C["πŸ“± Mobile App β€” Engagement Member"] D["πŸ”Œ Integrasi β€” Marketplace & POS"] A --- B A --- C A --- D style A fill:#1a1a2e,stroke:#e94560,color:#fff,padding:10px style B fill:#1a1a2e,stroke:#0f3460,color:#fff,padding:10px style C fill:#1a1a2e,stroke:#16213e,color:#fff,padding:10px style D fill:#1a1a2e,stroke:#533483,color:#fff,padding:10px

2. Prioritasi: Apa yang Dibangun Duluan?

Prinsip utama: Bangun fondasi dulu, baru gedungnya.

Urutan Prioritas

gantt title Roadmap Prioritas Probetes dateFormat YYYY-MM axisFormat %b %Y tickInterval 1month section Fase 1 - Fondasi ERP Terpusat :f1, 2026-06, 3M Website E-commerce :f1b, 2026-06, 3M section Fase 2 - Ekspansi Mobile App :f2, 2026-09, 3M Integrasi API :f2b, 2026-10, 2M section Fase 3 - Maturity Sistem Kasir :f3, 2027-01, 2M Health Tracking :f3b, 2027-02, 2M

Mengapa Urutan Ini?

πŸ₯‡ Prioritas 1: ERP Terpusat + Website (Paralel)

Alasan sederhana: Anda tidak bisa membangun rumah tanpa pondasi.

ERP adalah otak dari seluruh sistem. Semua data β€” siapa yang beli, kapan, produk apa, dari channel mana β€” harus punya satu "sumber kebenaran" (single source of truth). Tanpa ini:

Website dibangun paralel karena:

πŸ₯ˆ Prioritas 2: Mobile App + Integrasi Marketplace

Mobile app dibangun setelah ada data member yang rapi di ERP, karena:

Integrasi marketplace otomatis menarik data penjualan dari Tokopedia, Shopee, TikTok Shop ke ERP β€” menghilangkan input manual.

πŸ₯‰ Prioritas 3: Sistem Kasir + Health Tracking

Ini fitur penambah nilai yang masuk akal setelah sistem inti sudah stabil.


3. Arsitektur Sistem & Tech Stack

Gambaran Besar Arsitektur

graph TB subgraph "Channel Penjualan" WA["πŸ’¬ WhatsApp CS"] WEB["🌐 Website"] MP["πŸ›’ Marketplace
Tokped / Shopee / TikTok"] POS["πŸͺ Kasir Toko/Klinik"] APP["πŸ“± Mobile App"] end subgraph "Backend Layer" API["πŸ”§ API Server
(Golang + Gin/Fiber)"] AUTH["πŸ” Auth Service
(Firebase Auth)"] QUEUE["πŸ“¨ Message Queue
(Bull / Redis)"] end subgraph "Data Layer" DB["πŸ—„οΈ PostgreSQL
(Database Utama)"] CACHE["⚑ Redis
(Cache & Session)"] STORAGE["πŸ“ Cloud Storage
(File & Gambar)"] end subgraph "Reporting & Analytics" STUDIO["πŸ“Š Google Data Studio
(Existing)"] METABASE["πŸ“ˆ Metabase
(Internal Dashboard)"] end WA --> API WEB --> API MP --> QUEUE POS --> API APP --> API API --> AUTH API --> DB API --> CACHE API --> STORAGE QUEUE --> API DB --> STUDIO DB --> METABASE style API fill:#0d1117,stroke:#58a6ff,color:#fff style DB fill:#0d1117,stroke:#3fb950,color:#fff style AUTH fill:#0d1117,stroke:#f0883e,color:#fff style QUEUE fill:#0d1117,stroke:#bc8cff,color:#fff

Tech Stack β€” Penjelasan Non-Teknis

Komponen Teknologi Analogi Sederhana
Backend (Server) Golang (Go + Gin/Fiber) "Otak" yang memproses semua permintaan. Dipilih karena sangat cepat β€” bisa menangani ribuan permintaan bersamaan dengan penggunaan memori yang minimal
Database PostgreSQL "Lemari arsip digital" yang menyimpan semua data. Gratis, sangat handal, dan dipakai oleh perusahaan besar dunia
Website Next.js (React) "Toko online" yang cepat dan SEO-friendly, sehingga mudah ditemukan di Google
Mobile App Flutter Satu kali coding, jadi di Android dan iPhone. Seperti menulis satu surat yang otomatis diterjemahkan ke dua bahasa
Autentikasi Firebase Auth "Satpam digital" yang memastikan hanya member terdaftar yang bisa masuk
File Storage Google Cloud Storage "Google Drive untuk sistem" β€” menyimpan foto produk, dokumen resep, dll
Cache Redis "Catatan tempel" yang menyimpan data sering diakses agar sistem lebih cepat
Antrian Pesan Golang Worker + Redis "Antrian loket" β€” goroutine membuat antrian sangat efisien
Reporting Google Data Studio + Metabase Tetap pakai Data Studio. Tambah Metabase (gratis) untuk dashboard internal
Payment Gateway Midtrans / Xendit "Kasir digital" β€” transfer bank, e-wallet, QRIS, kartu kredit

Mengapa Pilihan Ini?

⚑ IMPORTANT
Prinsip pemilihan: Teknologi yang mature, performa tinggi, dan sesuai dengan pengalaman tim.
  1. Golang (Go) β†’ Dipilih karena:
    • Performa sangat tinggi β€” Go di-compile menjadi binary, bukan interpreted seperti Node.js/Python. Response time lebih cepat, memori lebih hemat
    • Concurrency bawaan β€” goroutine bisa menangani ribuan proses bersamaan tanpa membebani server
    • Cocok untuk microservices β€” ideal jika Probetes perlu dipecah jadi layanan-layanan kecil
    • Sudah terbukti β€” Dipakai oleh Tokopedia, Gojek, Google
    • Analogi: Jika Node.js seperti mobil sedan yang nyaman, Go seperti mobil balap β€” lebih cepat dan efisien untuk beban berat
  2. PostgreSQL, bukan MongoDB β†’ Data Probetes sangat relasional. PostgreSQL jauh lebih cocok untuk data terstruktur.
  3. Flutter, bukan React Native β†’ Performa lebih baik, UI lebih konsisten, satu codebase untuk Android + iOS.
  4. Firebase Auth β†’ Sudah di ekosistem Google. Gratis untuk volume wajar, mendukung login via Google/phone number.
  5. Google Cloud Platform β†’ Konsistensi ekosistem. Sudah pakai Google Data Studio dan Apps Script.

4. Alur Data: Dari Penjualan ke Laporan

Contoh: CS WhatsApp Menerima Order

Berikut alur lengkap dari saat customer pesan via WhatsApp sampai muncul di laporan:

sequenceDiagram participant C as πŸ‘€ Customer participant CS as πŸ’¬ CS WhatsApp participant ERP as πŸ–₯️ ERP Admin Panel participant API as πŸ”§ API Server participant DB as πŸ—„οΈ Database participant DS as πŸ“Š Data Studio C->>CS: "Mba, mau pesan Herbal Probetes 3 botol" CS->>ERP: Buka form input order Note over ERP: CS Input:
1. Nama/HP
2. Produk
3. Alamat
4. Pembayaran ERP->>API: Submit order data API->>API: Validasi data & cek stok API->>DB: Simpan order + update stok API-->>ERP: βœ… Order #PRB-20260606-001 dibuat Note over ERP: Status: PENDING PAYMENT C->>CS: "Sudah transfer ya mba" + bukti transfer CS->>ERP: Update status β†’ PAID ERP->>API: Konfirmasi pembayaran API->>DB: Update order status API->>API: Trigger: buat label pengiriman Note over DB: Data tersimpan real-time DB-->>DS: Sync otomatis (scheduled) Note over DS: Dashboard ter-update:
βœ… Revenue hari ini
βœ… Produk terlaris
βœ… Cohort analysis

Alur untuk Channel Lain

Channel Cara Data Masuk Otomatis?
WhatsApp CS CS input manual via ERP Admin Panel Semi-otomatis (CS input, sistem proses)
Website Customer checkout sendiri β†’ langsung masuk ERP βœ… Fully otomatis
Marketplace API sync setiap 15 menit menarik order baru βœ… Fully otomatis
Toko Fisik Kasir scan/input β†’ langsung masuk ERP βœ… Fully otomatis
Mobile App Customer checkout di app β†’ langsung masuk ERP βœ… Fully otomatis

Alur Data Agregat (Semua Channel ke Laporan)

flowchart LR subgraph Input A["πŸ’¬ WhatsApp"] B["🌐 Website"] C["πŸ›’ Marketplace"] D["πŸͺ Toko Fisik"] E["πŸ“± Mobile App"] end subgraph Processing F["πŸ”§ API Server"] G["πŸ“¨ Queue
(Marketplace Sync)"] end subgraph Storage H["πŸ—„οΈ PostgreSQL"] end subgraph Output I["πŸ“Š Google Data Studio"] J["πŸ“ˆ Metabase Dashboard"] K["πŸ“‹ Export CSV/Excel"] L["πŸ”” Notifikasi
(Telegram/Email)"] end A --> F B --> F C --> G --> F D --> F E --> F F --> H H --> I H --> J H --> K H --> L style F fill:#1a1a2e,stroke:#e94560,color:#fff style H fill:#1a1a2e,stroke:#3fb950,color:#fff

5. Desain Database

Entity Relationship β€” Inti Sistem

erDiagram MEMBER ||--o{ ORDER : "melakukan" MEMBER ||--o{ HEALTH_LOG : "mencatat" MEMBER ||--o{ CONSULTATION : "mengikuti" ORDER ||--|{ ORDER_ITEM : "berisi" ORDER_ITEM }o--|| PRODUCT : "merujuk ke" PRODUCT }o--|| PRODUCT_CATEGORY : "termasuk dalam" ORDER ||--|| PAYMENT : "memiliki" ORDER ||--o| SHIPMENT : "dikirim via" MEMBER ||--o{ MEMBERSHIP : "berlangganan" CONSULTATION }o--|| DOCTOR : "dengan" MEMBER { uuid id PK string name string phone string email date birth_date enum diabetes_type date diagnosis_date string referral_source timestamp created_at } ORDER { uuid id PK string order_number uuid member_id FK enum channel enum status decimal total_amount decimal discount string notes timestamp created_at } ORDER_ITEM { uuid id PK uuid order_id FK uuid product_id FK int quantity decimal unit_price decimal subtotal } PRODUCT { uuid id PK string name string sku uuid category_id FK decimal price int stock text description string image_url boolean is_active } HEALTH_LOG { uuid id PK uuid member_id FK date log_date decimal blood_sugar_fasting decimal blood_sugar_post_meal decimal hba1c decimal weight_kg decimal blood_pressure_sys decimal blood_pressure_dia text notes } PAYMENT { uuid id PK uuid order_id FK enum method enum status decimal amount string proof_url timestamp paid_at }

Tabel Pendukung Penting

Tabel Fungsi
marketplace_sync_log Mencatat setiap sinkronisasi data dari Tokopedia/Shopee/TikTok β€” kapan, berapa order baru, error apa
inventory_movement Jejak audit setiap perubahan stok (masuk, keluar, adjustment)
member_activity Log aktivitas member di app/web untuk analytics
notification Antrian notifikasi ke member (promo, reminder cek gula darah, dll)
staff Data karyawan (CS, dokter, admin) dengan role & permission

6. Detail Per Modul

6A. ERP Terpusat (Admin Panel)

Fungsi: Dashboard internal untuk tim operasional.

Fitur Utama:

Tampilan yang Diharapkan:


6B. Website Probetes

Fungsi: Etalase digital + platform transaksi untuk customer.

Fitur Utama:

SEO Strategy:


6C. Mobile App (Probetes Member App)

Fungsi: "Strava untuk diabetesi" β€” engagement & health tracking.

Fitur Utama:

Fitur "Strava-like":


6D. Integrasi Marketplace

Cara Kerja:

flowchart TB subgraph "Marketplace APIs" T["🟒 Tokopedia
Open API"] S["🟠 Shopee
Open Platform"] TT["⚫ TikTok Shop
Open API"] L["πŸ”΅ Lazada
Open Platform"] end subgraph "Sync Engine (Golang Workers)" Q["πŸ“¨ Queue Worker
(Goroutine Pool)"] M["πŸ”„ Mapper
(Standarisasi Format)"] end subgraph "ERP" O["πŸ“¦ Order Management"] ST["πŸ“‹ Stok"] P["πŸ’° Payment"] end T -->|"Webhook / Polling
setiap 15 menit"| Q S -->|"Push Notification
+ Polling"| Q TT -->|"Webhook"| Q L -->|"Push / Polling"| Q Q --> M M --> O M --> ST M --> P ST -->|"Update stok balik"| T ST -->|"Update stok balik"| S ST -->|"Update stok balik"| TT ST -->|"Update stok balik"| L
πŸ’‘ TIP
Pengalaman langsung: Saya sudah pernah mengintegrasikan keempat marketplace ini (Shopee, Tokopedia, TikTok Shop, Lazada) di proyek sebelumnya di PT Naisha Inspirasi Muslimah. Saya paham workflow approval API, struktur data masing-masing platform, dan cara handle perbedaan format antar marketplace.
⚠️ WARNING
Realita Integrasi Marketplace di Indonesia:

6E. Sistem Kasir (POS) untuk Klinik/Toko Fisik

Fitur Utama:

Hardware yang Dibutuhkan:


7. Risiko & Mitigasi

Matriks Risiko

quadrantChart title Matriks Risiko Proyek Probetes x-axis "Dampak Rendah" --> "Dampak Tinggi" y-axis "Probabilitas Rendah" --> "Probabilitas Tinggi" quadrant-1 "MONITOR KETAT" quadrant-2 "PRIORITAS MITIGASI" quadrant-3 "TERIMA" quadrant-4 "RENCANA KONTINGENSI" "Scope Creep": [0.80, 0.85] "Marketplace API Rejection": [0.60, 0.55] "Data Migration Error": [0.75, 0.40] "Tim CS Resist Perubahan": [0.45, 0.70] "Server Downtime": [0.85, 0.20] "Data Breach": [0.90, 0.15] "Payment Gateway Issue": [0.55, 0.30]

Detail Risiko & Mitigasi

# Risiko Dampak Mitigasi
1 Scope Creep β€” "Tambah fitur ini dong" terus-menerus sehingga MVP tidak pernah selesai Proyek molor berbulan-bulan, budget membengkak Freeze scope per fase. Semua request baru masuk backlog. Stakeholder wajib approve scope sebelum mulai.
2 Tim CS menolak sistem baru β€” "Ribet, lebih enak pakai WhatsApp langsung" Sistem tidak terpakai, data tetap manual Libatkan CS sejak awal (co-design). Buat UX yang lebih cepat dari cara manual. Training bertahap.
3 Marketplace API tidak disetujui Tidak bisa sync otomatis Plan B: Export CSV dari seller center + auto-parser. Bisa juga gunakan Jubelio atau Ginee sebagai jembatan sementara.
4 Data migrasi dari sistem lama tidak bersih Laporan tidak akurat di awal Data cleaning sprint sebelum go-live. Validasi manual 100 data pertama. Periode paralel 2 minggu.
5 Payment gateway gagal / timeout Customer tidak bisa bayar, revenue hilang Integrasikan 2 payment gateway (Midtrans + Xendit) sebagai fallback. Monitoring uptime real-time.
6 Data breach / kebocoran data kesehatan Reputasi hancur, potensi tuntutan hukum Enkripsi data sensitif. HTTPS everywhere. Audit keamanan setiap 3 bulan. Comply UU PDP.
🚨 CAUTION
Risiko #1 (Scope Creep) adalah ancaman terbesar. Berdasarkan pengalaman, ini penyebab kegagalan #1 proyek digital startup. Disiplin dalam batasan scope sangat krusial.

8. Timeline & Fase Pengembangan

Fase 1: Fondasi (Bulan 1-3)

Target: ERP bisa dipakai tim CS + Website bisa terima order

Bulan 1:
β”œβ”€β”€ Minggu 1-2: Setup infrastruktur (server, database, CI/CD)
β”œβ”€β”€ Minggu 2-3: Backend API core (auth, member, product, order)
└── Minggu 3-4: Admin Panel β€” Manajemen Produk & Order

Bulan 2:
β”œβ”€β”€ Minggu 1-2: Admin Panel β€” Dashboard Analytics & Member Management
β”œβ”€β”€ Minggu 2-3: Website β€” Landing page, katalog produk, keranjang
└── Minggu 3-4: Website β€” Checkout + integrasi payment gateway

Bulan 3:
β”œβ”€β”€ Minggu 1-2: Website β€” Member area (login, profil, riwayat order)
β”œβ”€β”€ Minggu 2-3: Testing, bug fixing, data migration
└── Minggu 4:   πŸš€ SOFT LAUNCH (internal + 50 member pilot)

Deliverable Fase 1:


Fase 2: Ekspansi (Bulan 4-6)

Target: Mobile app live + marketplace tersinkronisasi

Bulan 4:
β”œβ”€β”€ Minggu 1-2: Mobile App β€” Setup + Auth + Onboarding
β”œβ”€β”€ Minggu 2-3: Mobile App β€” Health Dashboard (input & visualisasi)
└── Minggu 3-4: Mobile App β€” Shop (katalog + checkout)

Bulan 5:
β”œβ”€β”€ Minggu 1-2: Mobile App β€” Konsultasi + Konten edukasi
β”œβ”€β”€ Minggu 2-3: Marketplace API Integration (Tokopedia)
└── Minggu 3-4: Marketplace API Integration (Shopee)

Bulan 6:
β”œβ”€β”€ Minggu 1-2: Mobile App β€” Gamification & reminders
β”œβ”€β”€ Minggu 2-3: TikTok Shop integration + testing
└── Minggu 4:   πŸš€ APP LAUNCH di Play Store & App Store

Deliverable Fase 2:


Fase 3: Maturity (Bulan 7-9)

Target: Sistem lengkap & terintegrasi penuh

Bulan 7:
β”œβ”€β”€ Sistem POS untuk klinik/toko fisik
└── Integrasi stok cross-channel

Bulan 8:
β”œβ”€β”€ Advanced analytics & cohort reporting
β”œβ”€β”€ Push notification engine
└── Referral & loyalty program

Bulan 9:
β”œβ”€β”€ Performance optimization
β”œβ”€β”€ Security audit
└── Dokumentasi & training tim

Timeline Visual

timeline title Probetes Digital Transformation Bulan 1-2 : πŸ—οΈ Backend + ERP : Setup infrastruktur : API core development : Admin panel v1 Bulan 2-3 : 🌐 Website Launch : E-commerce features : Payment integration : Soft launch Bulan 4-5 : πŸ“± Mobile App Dev : Health tracking : Shop in-app : Konsultasi Bulan 5-6 : πŸ”Œ Marketplace Sync : Tokopedia API : Shopee API : TikTok Shop API Bulan 7-8 : πŸͺ POS & Analytics : Sistem kasir : Advanced reporting : Loyalty program Bulan 9 : πŸ”’ Hardening : Security audit : Performance tuning : Full documentation

9. Metrik Keberhasilan

Bagaimana Tahu Sistem Ini Berhasil?

Fase Metrik Target
Fase 1 Waktu input order oleh CS < 2 menit per order (dari ~5-10 menit manual)
Fase 1 Order via website Minimal 10% dari total order di bulan ke-3
Fase 1 Akurasi data penjualan 99%+ (vs manual yang sering selisih)
Fase 2 Download app 500+ di bulan pertama launch
Fase 2 Daily Active Users (app) 30% dari total member
Fase 2 Order manual dari marketplace Turun 90% (diganti auto-sync)
Fase 3 Revenue via digital channel Minimal 40% dari total revenue
Fase 3 Member retention (3 bulan) > 60%

Catatan Penutup

πŸ’‘ TIP
Kunci sukses proyek ini bukan di teknologi β€” tapi di eksekusi dan disiplin scope. Teknologi yang dipilih sudah mature dan terbukti. Yang membedakan sukses dan gagal adalah:
  1. Disiplin scope β€” jangan tambah fitur sebelum fase selesai
  2. User testing sejak awal β€” libatkan CS dan member pilot dari Bulan 1
  3. Iterasi cepat β€” launch versi sederhana, perbaiki berdasarkan feedback, ulangi
  4. Data-driven decision β€” setiap keputusan fitur harus didukung data penggunaan

Sistem ini dirancang untuk tumbuh bersama Probetes. Arsitekturnya modular β€” setiap komponen bisa di-upgrade atau diganti tanpa merusak yang lain. Mulai kecil, validasi, lalu scale.


Dokumen ini adalah versi 1.0. Akan diperbarui seiring diskusi dan feedback dari tim Probetes.