Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fam-GPS: Real-Time Location Tracker

Proof of Concept (PoC) pelacakan lokasi keluarga secara real-time menggunakan arsitektur Event-Driven dengan Apache Kafka dan Go.

Overview

Project ini mensimulasikan aliran data koordinat GPS dari perangkat mobile anggota keluarga, diproses secara asinkron melalui message broker, dan disimpan ke dalam cache untuk akses cepat (last-known location).

Tech Stack

  • Language: Go (Golang)
  • Message Broker: Apache Kafka (KRaft Mode)
  • Caching/Storage: Redis
  • Infrastructure: Docker & Docker Compose

Architecture Flow

Workflow

  1. Simulator: Mengirim koordinat GPS acak setiap 2 detik.
  2. Producer API: Gateway yang menerima data dan meneruskannya ke Kafka topic family-locations.
  3. Kafka: Bertindak sebagai buffer dan message log yang menjamin data tidak hilang.
  4. Consumer: Worker yang memproses data dari Kafka secara asinkron.
  5. Redis: Menyimpan lokasi terakhir setiap user agar bisa di-query secara instant (Latency rendah).

Cara Menjalankan

1. Jalankan Infrastruktur

docker-compose up -d

2. Jalankan Consumer (Penyimpan Data)

go run ./cmd/consumer/main.go

3. Jalankan Producer (API Gateway)

go run ./cmd/producer/main.go

4. Jalankan Simulator (Testing)

go run ./cmd/simulator/main.go

📊 Monitoring

Akses Kafka-UI di http://localhost:8080 untuk melihat trafik pesan secara visual.


Project ini merupakan project portfolio untuk belajar mengenai konsep Kafka.

About

Learn Apache Kafka

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages