WahidNasri / flutter-mqtt-chat-client

A Chat app developed with Flutter, it uses MQTT protocol
GNU General Public License v3.0
147 stars 34 forks source link

I have re-written backend to golang #8

Closed lucasjinreal closed 2 years ago

lucasjinreal commented 3 years ago

Just for anyone also interested in this project, I believe op gets a very impressive implementationon mqtt chatter. But after I tried the default Java backend, it was messy to be honest, So i re-written it into Golang, now

It looks great, everything works fine. So that mine and share a same client with ops, but with different backend.

Here is some screen shot of mine:

image

image

The enhancement based on this version, I did:

WahidNasri commented 3 years ago

That's great !

Does the Golang borker apply the same restrictions and rules applied by HiveMQ extension?

lucasjinreal commented 3 years ago

@WahidNasri I am using gmqtt opensource lib as broker, it has some limited feature then HiveMQ, but was enough for us to build a simple program, it also supports distribution and fully supported Mqtt v5.1.

Do u have a further development road on current client? We want build some python robot for you integrate it into current client.

Like chatbot, customized private company robot etc.

And eventually, I want make this APP controlls all my inteligent home devices by robots. (chatbots)

WahidNasri commented 3 years ago

The idea is the broker should apply a set of rules to make the chatting secure and meaningful, not anyone should be able to publish to a room or subscribe to someone's presence events, etc... I am developing documentation for that, describing the rules that should be respected by every broker to be used as an mqtt-chat broker.

Of course, I have a plan for the broker and the client, any contribution/support would be great!

theowenyoung commented 2 years ago

@jinfagang Hi, do you have any plan to make your go server open source? Very interested in it!

lucasjinreal commented 2 years ago

@theowenyoung Hi, since my golang backend integrated into my comercial server APP, is not easy to opensource. You can reference my python client and using gmqtt to implement. It's not complicated.