{"id":15163346,"url":"https://github.com/cyberkeeper/mqttagent","last_synced_at":"2025-04-05T20:11:54.301Z","repository":{"id":244671197,"uuid":"815913535","full_name":"cyberkeeper/MQTTAgent","owner":"cyberkeeper","description":"Demo Java Swing project using MQTT","archived":false,"fork":false,"pushed_at":"2024-06-16T14:59:51.000Z","size":473,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-05T20:11:50.682Z","etag":null,"topics":["educational-project","intellij","java","mqtt","swing"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cyberkeeper.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-06-16T14:08:36.000Z","updated_at":"2024-06-16T14:53:48.000Z","dependencies_parsed_at":"2024-06-16T16:44:56.046Z","dependency_job_id":"a775b2d6-2682-4820-bb2d-b20debd89fce","html_url":"https://github.com/cyberkeeper/MQTTAgent","commit_stats":null,"previous_names":["cyberkeeper/mqttagent"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyberkeeper%2FMQTTAgent","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyberkeeper%2FMQTTAgent/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyberkeeper%2FMQTTAgent/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyberkeeper%2FMQTTAgent/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cyberkeeper","download_url":"https://codeload.github.com/cyberkeeper/MQTTAgent/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247393572,"owners_count":20931813,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["educational-project","intellij","java","mqtt","swing"],"created_at":"2024-09-27T02:23:41.772Z","updated_at":"2025-04-05T20:11:54.270Z","avatar_url":"https://github.com/cyberkeeper.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MQTT Agent\n\n## Introduction\n\nThis is a tool to help manage MQTT projects. The application is written in Java with a Swing Graphical User Interface (GUI). The tool has functionality to connect to, publish and subscribe to any specified topic. \nThe original aim of tool was demonostrate an implementation of publisher/subscriber pattern for edcuational purposes. Extra functionality was added to demonstrate other Java concepts. While not \nnecesary for functionality, it is easier to demonstrate some things in more realistic scenarios. They also make the application more 'real'.\n\n- sound, positive and negative sounds added for successful and unsuccessful connection to an MQ broker.\n- icons on JLabel change to indicate connection/disconnection.\n- threads, the sounds are played in separate threads to avoid interruption to the user.\n- interface, used to get events from the MqttCallback class.\n- internationlisation, English and Spanish resource files are included in a resource bundle.\n- Maven build, a pom.xml file is included for building via Maven.\n- ComboBoxModel, extends the DefaultComboBoxModel to give a model that only allows unique values.\n\n## Screenshots\n\nConnection screen.\n\n![image](https://github.com/cyberkeeper/MQTTAgent/assets/40637121/092b454c-6a73-49b1-bb93-38fd66623329)\n\nIf no authentication has been setup on the broker then the user id and password can be left blank. To idenfiy the client for publishing and subscribing a unique identifier\nis required, type in manually or press Generate. The Generate button will create a 36 character id for the current session.\n\nPublish screen.\n\n![image](https://github.com/cyberkeeper/MQTTAgent/assets/40637121/a354304f-8fa8-4f8d-ba28-fdd31c740bba)\n\nAny topics typed in the Topic drop down list box will be remembered for the duration of this session. \n\nSubscribe screen.\n\n![image](https://github.com/cyberkeeper/MQTTAgent/assets/40637121/c6f2fc30-fb6a-4d6b-aa8d-e108089f6d79)\n\nType in any topics that you want to subscribe to. All subscribed to topics will be stored in the drop down list. To unsubscribe to a topic select it from the drop down list and click\nthe Unsubscribe button. \n\n## Design\n\nThe code matched the design documents supplied in the tutorials. The code has been been design to be easy to maintain and expand.\n\n## Environment\n\nThe code was written in JetBrains IntelliJ Community edition v2023.2. The SDK was Oracle Open JDK20, level 20 \"No new language features\". The operating system used was Microsoft Windows 10 and 11. \nThe Jar file was tested by running in a non-adminisrator Powershell mode.\nA pom.xml file is included for building using Maven. This has been tested using 'Apache-Maven-3.9.7'\n\n## Usage\n\nTme MQTT Agent tool can be run from the command line or double clicked if your OS is set enable that.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcyberkeeper%2Fmqttagent","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcyberkeeper%2Fmqttagent","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcyberkeeper%2Fmqttagent/lists"}