Skip to content

dotnesia/mqviz-server-go

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MQViz Go Server

MQViz Server adalah framework server MQTT modular berbasis Go, yang bertugas menerima, memproses, dan merespons data dari berbagai perangkat atau client melalui protokol MQTT — tanpa REST API.

🧩 Cocok digunakan untuk:

  • Sistem monitoring sensor
  • IoT command/control (relay, status, alarm)
  • Realtime dashboard (via WebSocket)
  • Replika fungsi REST API melalui MQTT

🚀 Fitur Utama

Fitur Keterangan
✅ MQTT engine modular Auto reconnect, TLS, wildcard subscribe
✅ Topic router pattern Seperti HTTP router, cocok untuk banyak role/device
✅ JSON schema standar Semua pesan dibungkus dengan timestamp, meta, data
✅ DB log (SQLite/GORM) Simpan data sensor/command otomatis
✅ Web dashboard Realtime view via WebSocket + static frontend
✅ MQTT API (non-HTTP) Flutter/Client cukup pakai MQTT untuk semua permintaan data

📁 Struktur Folder

mqviz-go-server/
├── cmd/server/            # Entrypoint main.go
├── config/                # YAML konfigurasi
├── internal/
│   ├── config/            # Loader YAML
│   ├── identity/          # Generate client_id otomatis
│   ├── mqvizmqtt/         # MQTT wrapper, builder, publisher
│   ├── router/            # Topic router ala HTTP-style
│   ├── handler/           # Modular handler sensor, command, request/response
│   ├── storage/           # GORM DB layer (SQLite default)
│   └── web/               # WebSocket + static file server
├── webui/                 # (Opsional) Frontend dashboard via Vite

⚙️ Instalasi

  1. Clone repo ini
  2. Ubah config/config.yaml sesuai identitas dan MQTT
  3. Jalankan:
go run ./cmd/server

📡 Format MQTT API

Contoh client Flutter:

request topic:  cobaindo/atgomon/client/mobile01/request/sensor
response topic: cobaindo/atgomon/client/mobile01/response/sensor

🛠️ Tools yang Digunakan

  • Golang 1.21+
  • GORM (ORM)
  • Eclipse Paho MQTT
  • WebSocket (gorilla)
  • Vite + JS frontend

🤝 Kontribusi

Pull request, issue, dan diskusi sangat diterima.
Silakan fork repo ini dan sesuaikan untuk proyek Anda.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors