Faisalaffan Blog
Faisalaffan Blog
Kategori Berita

Rekayasa Perangkat Lunak

Menampilkan 20 artikel terbitan terbaru dalam topik ini.

Real-time Order Tracking Q-Commerce: Driver Bergerak di Peta Live

System design real-time order tracking untuk quick commerce. Driver GPS ingestion via WebSocket dengan throttling dan validasi, Kalman filter untuk position smoothing, Redis pub/sub fan-out by order ID untuk scale ribuan driver concurrent, dan Server-Sent Events (SSE) push ke user client. Implementasi Golang dengan pattern WebSocket goroutine pool, pub/sub broker, dan concurrent connection management.

Faisal Affan
Faisal Affan
Real-time Inventory Dark Store: Cegah Oversell di Q-Commerce

Desain inventory per-hub untuk Astro (instant grocery). Reservation pattern dengan Redis DECRBY atomic + TTL, async sync ke Postgres, stock partitioning untuk hot SKU, reaper job untuk reservation leak, dan cycle counting untuk stok fisik vs sistem. Implementasi Golang lengkap.

Faisal Affan
Faisal Affan

Search & Catalog 15k SKU Q-Commerce: Relevan + In-Stock Real-time

System design search dan catalog untuk quick commerce dengan 15.000+ SKU. Elasticsearch full-text search dengan multi-match query dan typo tolerance (fuzziness), filter ketersediaan per-hub via Redis pipeline query-time filtering, ranking berbasis relevansi, ketersediaan, margin, dan popularitas, index update via Kafka streaming, dan autocomplete handler. Implementasi Golang lengkap dengan worker concurrency pattern untuk index sync.

Faisal Affan
Faisal Affan

Checkout & Payment Q-Commerce: Saga Pattern untuk Konsistensi Terdistribusi

System design checkout flow untuk quick-commerce (q-commerce) dengan Saga orchestration pattern untuk distributed transaction consistency. Pelajari reserve stock, create order PENDING, charge payment via payment gateway, confirm order, publish event via transactional outbox, compensating transaction untuk rollback (release stock, cancel order), idempotency key untuk payment callback, webhook signature verification dengan HMAC, outbox relay worker CDC-based, dan edge cases seperti double charge, partial refund, payment timeout, dan network partition. Dilengkapi implementasi Golang dengan context.Context, interface-based services, step-based saga executor, dan database transaction patterns.

Faisal Affan
Faisal Affan

Demand Forecasting & Replenishment Q-Commerce: Prediksi Stok Sebelum Habis

System design demand forecasting untuk Astro dark store menggunakan Holt-Winters triple exponential smoothing per-SKU per-hub, external regressors (cuaca, hari libur, promo, musim), auto-replenishment order ke central warehouse dengan FEFO untuk fresh goods, cold-start handling untuk SKU/hub baru menggunakan Bayesian shrinkage, dan forecast accuracy monitoring dengan MAPE. Implementasi Golang dengan context.Context, structured concurrency, dan error handling idiomatic.

Faisal Affan
Faisal Affan

Dynamic Delivery Fee Q-Commerce: Harga Ongkir yang Bisa Berubah Tiap Menit

System design dynamic pricing delivery fee untuk Astro Q-commerce: signal-based pricing dengan aggregasi supply driver vs demand order per area, distance multiplier, surge multiplier saat jam sibuk, weather multiplier saat hujan, price lock saat checkout agar harga tidak berubah di tengah transaksi, price elasticity measurement, A/B testing framework untuk eksperimen pricing, dan surge detection dengan threshold adaptif. Implementasi Golang dengan clean architecture, event-driven signals, dan Redis untuk price lock.

Faisal Affan
Faisal Affan

ETA Estimation Q-Commerce: Janji Tiba dalam X Menit

System design ETA estimation untuk quick-commerce (q-commerce) dengan janji delivery dalam 15-30 menit. Pelajari picking time model berdasarkan jumlah item dan beban hub, dispatch queue wait time estimation, travel time via OSRM routing engine dengan ML model untuk prediksi traffic dan cuaca, p80 conservative ETA, miss rate monitoring dengan Prometheus, serta edge cases seperti traffic spike dan driver offline. Dilengkapi implementasi Golang dengan circuit breaker, Redis caching, gRPC client, dan concurrent pipeline.

Faisal Affan
Faisal Affan
Flash Sale Q-Commerce: Dari 50 Ribu Request ke 1 Detik Checkout

System design flash sale untuk Astro (q-commerce). Stock partitioning dengan Redis Lua script, waiting room / virtual queue, rate limiting per device fingerprint, anti-bot dengan CAPTCHA attestation, dan cache strategy CDN stale-while-revalidate. Lengkap dengan implementasi Golang.

Faisal Affan
Faisal Affan
Geo Serviceability Q-Commerce: Dari Titik GPS ke Hub dalam 10ms

System design geo-serviceability untuk Astro. H3 hexagon indexing untuk O(1) lookup, PostGIS polygon untuk boundary verification, Redis geo-index untuk caching cell-to-hub mapping, tie-break logic untuk overlapping coverage, dan fallback strategy. Golang implementation dengan uber/h3-go, PostGIS, dan Redis.

Faisal Affan
Faisal Affan

Order Dispatch & Driver Allocation: Hungarian Algorithm untuk Q-Commerce

System design order dispatch untuk quick-commerce (q-commerce). Pelajari batching window untuk kumpulkan order, Hungarian/greedy matching driver ke order, Redis GEOADD/GEOSEARCH untuk cari driver terdekat, real-time driver state tracking (idle/picking/delivering), batch delivery multi-order, dan edge cases seperti driver reject, order timeout, serta starvation handling. Dilengkapi implementasi Golang dengan context.Context, error wrapping, struct-based services, channel-based event sourcing, dan concurrent pipeline.

Faisal Affan
Faisal Affan

Promo & Voucher Engine Q-Commerce: Rule Engine Anti-Abuse

System design promo engine untuk quick commerce. Rule engine dengan kondisi komposable (min transaksi, first-N-order, area, kategori) ke efek (discount, free ongkir), atomic counter untuk limit penggunaan Redis Lua, anti-fraud device fingerprinting, stackable vs eksklusif promo resolution, dan budget cap. Implementasi Golang lengkap dengan composable condition interface, AND/OR composite tree, concurrent-safe redeem, serta Kafka event streaming untuk audit trail.

Faisal Affan
Faisal Affan
Integer to Roman: Greedy Mapping yang Selalu Muncul di Interview

Membedah soal konversi integer ke Roman numeral — dari aturan dasar numeral Romawi, jebakan subtractive notation (IV, IX, XL...), sampai solusi greedy O(1) yang bersih dan interview-ready. Lengkap dengan tabel mapping, visualisasi step-by-step, dan kenapa pendekatan ini optimal untuk constraint 1-3999.

Faisal Affan
Faisal Affan
Best Time to Buy and Sell Stock: Dari Brute Force ke One-Pass O(n)

Menguasai soal klasik coding interview 'Best Time to Buy and Sell Stock' dengan penjelasan step-by-step — mulai dari pendekatan brute force paling naif, mengenali pola, sampai ke solusi one-pass O(n) yang optimal dengan sliding window / two-pointer. Lengkap dengan visualisasi array, analisis kompleksitas, dan intuisi di balik setiap keputusan.

Faisal Affan
Faisal Affan
Strategi Portofolio Berdasarkan Level Karir — Junior sampai CTO

Portofolio kamu harus mencerminkan level senioritasmu, bukan sekadar daftar semua project yang pernah kamu sentuh. Junior engineer jual potensi dan fundamental. Senior engineer jual depth dan arsitektur. Staff engineer jual leverage. CTO jual hasil bisnis. Ini panduan lengkap apa yang harus ada di portofolio di setiap level — dengan contoh konkret dan format universal yang bisa langsung kamu pakai.

Faisal Affan
Faisal Affan
Arsitektur AI Modern: End-to-End

Dari query user pertama hingga response tersimpan ke database. Panduan lengkap layer, tools, request flow, learning roadmap, dan penerapan nyata di production — termasuk Google ADK yang baru rilis.

Faisal Affan
Faisal Affan