Lewati ke konten

Kinetix

Platform e-commerce dan fulfilment real-time, didokumentasikan dari kodenya — untuk engineer yang membangun di atasnya, dan untuk engineer yang ingin belajar desain backend terdistribusi dari sistem yang benar-benar berjalan.

Kinetix menjalankan katalog, checkout, pembayaran, fulfilment gudang, dan dispatch kurir sebagai service yang berdiri sendiri. Setiap service memiliki datanya dan database-nya sendiri. Antar-service berkomunikasi lewat gRPC, mengikuti kontrak yang didefinisikan sekali di kinetix-contracts. Trafik dari luar masuk lewat satu Kong gateway, dan hanya identity yang berhak menentukan siapa pemanggilnya.

Halaman-halaman di sini menjelaskan kenapa sistemnya dibangun seperti itu, apa tanggung jawab tiap service, dan kontrak di antara mereka. Setiap halaman ditulis berdasarkan kode yang dijelaskannya dan menautkan kode itu pada commit tertentu, jadi yang kamu baca adalah yang berjalan.

Membangun di atas Kinetix

Kontrak, endpoint, autentikasi, dan semantik error untuk client dan integrasi.

Belajar backend dari Kinetix

Masalah nyata — overselling, double charge, partial failure antar-service — dan kode yang menyelesaikannya, langkah demi langkah. Mengasumsikan kamu sudah paham HTTP, SQL, dan satu bahasa backend.

Service Tanggung jawab Bahasa
identity Akun, autentikasi, token, persetujuan merchant TypeScript
catalog Produk dan kategori Python
pricing Harga, diskon, voucher, flash sale, tarif ongkir Rust
order Keranjang, checkout, pesanan, retur C#
payment Pembayaran, escrow, wallet Java
warehouse Inventori bin, reservasi stok, fulfilment task Ruby
matching Alokasi dan dispatch kurir Elixir
review Ulasan produk PHP
notification Notifikasi pelanggan Scala
communication Chat real-time C++
search Pencarian produk Go

Di sekelilingnya ada API gateway (Kong), aplikasi kurir (Flutter), dan kontrak (Protocol Buffers) yang diikuti semua service.