{"id":26378064,"url":"https://github.com/square-it/flogo-demo-services","last_synced_at":"2026-05-22T14:16:07.566Z","repository":{"id":64303968,"uuid":"154666408","full_name":"square-it/flogo-demo-services","owner":"square-it","description":"Client application of the Square IT Flogo demo","archived":false,"fork":false,"pushed_at":"2019-02-18T09:41:18.000Z","size":19,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-11-15T03:14:52.917Z","etag":null,"topics":["flogo","go","golang","raspberry-pi"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/square-it.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-10-25T12:23:39.000Z","updated_at":"2021-09-06T12:57:54.000Z","dependencies_parsed_at":"2023-01-15T10:01:00.575Z","dependency_job_id":null,"html_url":"https://github.com/square-it/flogo-demo-services","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/square-it%2Fflogo-demo-services","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/square-it%2Fflogo-demo-services/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/square-it%2Fflogo-demo-services/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/square-it%2Fflogo-demo-services/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/square-it","download_url":"https://codeload.github.com/square-it/flogo-demo-services/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243971180,"owners_count":20376784,"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":["flogo","go","golang","raspberry-pi"],"created_at":"2025-03-17T04:20:54.779Z","updated_at":"2026-05-22T14:16:07.506Z","avatar_url":"https://github.com/square-it.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Flogo demo by Square IT Services - Services application\n\n## Introduction\n\nThis repository is part of the [**Flogo Demo by Square IT Services**](https://github.com/square-it/flogo-demo).\n\n* [This Flogo application](#description) manages the interactions with end-users (which smiley to display?, the list of smileys, ...)\n* [Another Flogo application](https://github.com/square-it/flogo-demo-iot) is used to manage the screen display part.\n\nThese two applications can communicate through a REST service or via an MQTT broker.\n\n![Flogo Demo architecture](https://github.com/square-it/flogo-demo/blob/master/FlogoDemo.png)\n\n## Description\n\nThis application has a flow triggered indistinctly by a [REST](https://github.com/TIBCOSoftware/flogo-contrib/tree/master/trigger/rest) or [MQTT](https://github.com/TIBCOSoftware/flogo-contrib/tree/master/trigger/mqtt) trigger which take as a parameter the Unicode identifier of [any emoji defined in the OpenMoji library](http://openmoji.org/library.html).\n\nIt can be [compiled and run](#usage) on any system where Go program [can be compiled to](https://dave.cheney.net/2015/08/22/cross-compilation-with-go-1-5).\n\nAs any flow-based Flogo application, it can be [modified with the Flogo Web UI](#development).\n\n## Prerequisites\n\n* [Go](https://golang.org/) \u003e= 1.11\n* [Dep](https://github.com/golang/dep)\n* [Flogo CLI](https://github.com/TIBCOSoftware/flogo-cli) \u003e= 0.5.8\n* [Docker](https://www.docker.com/), for testing \u0026 development\n\n## Usage\n\n### Build from sources\n\n1. clone this repository\n```\ngit clone https://github.com/square-it/flogo-demo-services.git\ncd flogo-demo-services\n```\n\n2. compile the application into a native executable\n```\nflogo ensure\nflogo build -e\n```\n\n### Prepare\n\n1. launch a Mosquitto MQTT broker (required):\n```\ndocker run --name mosquitto -d -p 1883:1883 -p 9001:9001 eclipse-mosquitto\n```\n\n2. to enable OpenTracing, run a Zipkin collector (optional):\n```\ndocker run --name zipkin -d -p 9411:9411 openzipkin/zipkin\n```\n\u003e For detailed instructions read [OpenTracing collectors for Flogo](https://github.com/square-it/flogo-opentracing-listener#collectors).\n\n### Test\n\n\u003e Considering this application will run on a host reachable at *192.168.1.1* with a Raspberry Pi reachable at *192.168.1.2*\n \n1. define Raspberry Pi and MQTT configuration\n```\nexport RPI_HOST=192.168.1.2\nexport RPI_PORT=4445\n\nexport MQTT_BROKER=192.168.1.1:1883\nexport MQTT_DEMO=demo\n```\n\n2. run the executable\n```\ncd bin\n./flogo-demo-services\n```\n\nTo enable OpenTracing with a Zipkin HTTP collector listening on 192.168.1.1:9411, run instead\n```\nexport FLOGO_OPENTRACING_IMPLEMENTATION=zipkin\nexport FLOGO_OPENTRACING_TRANSPORT=http\nexport FLOGO_OPENTRACING_ENDPOINTS=http://192.168.1.1:9411/api/v1/spans\ncd bin\n./flogo-demo-services\n```\n\n3. test with a sample smiley\n\na. with the REST trigger\n```\ncurl http://192.168.1.1:4445/v1/smiley/1F605\n```\n\nb. with a MQTT message\n```\ndocker run -it --rm --name mqtt-publisher efrecon/mqtt-client pub -h 192.168.1.1 -t \"demo\" -m \"1F609\"\n```\n\n## Development\n\n1. run a Flogo Web UI\n```\ndocker run --name flogo -it -d -p 3303:3303 -e FLOGO_NO_ENGINE_RECREATION=false flogo/flogo-docker:v0.5.8 eula-accept\n```\n\n2. install custom-made activities contributions\n```\ndocker exec -it flogo sh -c 'cd /tmp/flogo-web/build/server/local/engines/flogo-web \u0026\u0026 flogo install github.com/square-it/flogo-contrib-activities/command'\ndocker exec -it flogo sh -c 'cd /tmp/flogo-web/build/server/local/engines/flogo-web \u0026\u0026 flogo install github.com/square-it/flogo-contrib-activities/copyfile'\n```\n\n3. restart the Flogo Web UI container\n```\ndocker restart flogo\n```\n\nThe Flogo Web UI is available at ```http://localhost:3303```.\n\nImport the application using the [provided *flogo.json*](./flogo.json).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsquare-it%2Fflogo-demo-services","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsquare-it%2Fflogo-demo-services","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsquare-it%2Fflogo-demo-services/lists"}