{"id":14963484,"url":"https://github.com/frangoteam/fuxa","last_synced_at":"2026-01-04T20:12:20.327Z","repository":{"id":37497879,"uuid":"174708928","full_name":"frangoteam/FUXA","owner":"frangoteam","description":"Web-based Process Visualization (SCADA/HMI/Dashboard) software","archived":false,"fork":false,"pushed_at":"2025-05-11T21:24:29.000Z","size":444467,"stargazers_count":3341,"open_issues_count":266,"forks_count":948,"subscribers_count":97,"default_branch":"master","last_synced_at":"2025-05-11T21:28:01.248Z","etag":null,"topics":["angular","bacnet","dashboard","hmi","iot","modbus","mqtt","nodejs","opc-ua","opcua","plc","s7","scada","siemens","svg-editor","web-editor","web-hmi","web-scada"],"latest_commit_sha":null,"homepage":"https://frangoteam.org","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/frangoteam.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":null,"patreon":"frangoteam","open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":["https://paypal.me/frangoteam"]}},"created_at":"2019-03-09T15:08:23.000Z","updated_at":"2025-05-11T12:39:46.000Z","dependencies_parsed_at":"2023-12-16T00:07:23.634Z","dependency_job_id":"5179c8b1-3caf-4b1e-9279-376d61cae6b5","html_url":"https://github.com/frangoteam/FUXA","commit_stats":{"total_commits":1592,"total_committers":48,"mean_commits":"33.166666666666664","dds":"0.27386934673366836","last_synced_commit":"b38744ddd178bae5682348789b18441869bc2469"},"previous_names":[],"tags_count":41,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frangoteam%2FFUXA","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frangoteam%2FFUXA/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frangoteam%2FFUXA/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frangoteam%2FFUXA/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/frangoteam","download_url":"https://codeload.github.com/frangoteam/FUXA/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253747214,"owners_count":21957718,"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":["angular","bacnet","dashboard","hmi","iot","modbus","mqtt","nodejs","opc-ua","opcua","plc","s7","scada","siemens","svg-editor","web-editor","web-hmi","web-scada"],"created_at":"2024-09-24T13:31:35.630Z","updated_at":"2026-01-04T20:12:20.320Z","avatar_url":"https://github.com/frangoteam.png","language":"TypeScript","funding_links":["https://patreon.com/frangoteam","https://paypal.me/frangoteam"],"categories":[],"sub_categories":[],"readme":"![fuxa logo](/client/src/favicon.ico)\n# FUXA\nFUXA is a web-based Process Visualization (SCADA/HMI/Dashboard) software. With FUXA you can create modern process visualizations with individual designs for your machines and real-time data display.\n\n![fuxa editor](/screenshot/fuxa-editor.png)\n\n![fuxa ani](/screenshot/fuxa-thinglinks.gif)\n\n![fuxa action](/screenshot/feature-action-move.gif)\n\n## Features\n- Devices connectivity with Modbus RTU/TCP, Siemens S7 Protocol, OPC-UA, BACnet IP, MQTT, Ethernet/IP (Allen Bradley), ODBC, ADSclient, Gpio (Raspberry), WebCam, MELSEC, Redis\n- SCADA/HMI Web-Editor - Engineering and Design completely web-based\n- Cross-Platform Full-Stack - Backend with NodeJs and Frontend with Web technologies (HTML5, CSS, Javascript, Angular, SVG)\n\n## Live Demo\nHere is a [live demo](https://frangoteam.github.io) example of FUXA editor.\n\n## Installing and Running\nFUXA is developed with NodeJS (backend) and Angular (frontend).\n\nSee the Wiki for more details about installing and getting started\n\n[Wiki](https://github.com/frangoteam/FUXA/wiki)\n\n[Wiki Installing/Building](https://github.com/frangoteam/FUXA/wiki/Installing-and-Running)\n\n### 1° Option - Running from docker\n```\ndocker pull frangoteam/fuxa:latest\ndocker run -d -p 1881:1881 frangoteam/fuxa:latest\n\n// persistent storage of application data (project), daq (tags history), logs and images (resource)\ndocker run -d -p 1881:1881 -v fuxa_appdata:/usr/src/app/FUXA/server/_appdata -v fuxa_db:/usr/src/app/FUXA/server/_db -v fuxa_logs:/usr/src/app/FUXA/server/_logs -v fuxa_images:/usr/src/app/FUXA/server/_images frangoteam/fuxa:latest\n\n// with Docker compose\n// persistent storage will be at ./appdata ./db ./logs and ./images\nwget https://raw.githubusercontent.com/frangoteam/FUXA/master/compose.yml\ndocker compose up -d\n```\n\nOpen up a browser (better Chrome) and navigate to http://localhost:1881\n\n### 2° Option - Install from source\n[Download the latest release](https://github.com/frangoteam/FUXA/releases) and unpack it\n\nYou need to have installed [Node.js](https://nodejs.org/en/about/previous-releases)\n- Recommended: Node.js 18 LTS\n\n**Note** Starting from FUXA 1.2.7, Node.js 14 and older versions are not supported due to upstream dependency updates.\n\n**WARNING** On Linux systems (especially Raspberry Pi), installing native dependencies with Node.js 18 may require additional build tools.\nIf you do not intend to use specific features, you can safely remove them from ```server/package.json```:\n- Remove ```node-snap7``` if you do not need Siemens S7 communication\n- Remove ```odbc``` if you do not need external database connectivity\n\n```\ncd ./server\nnpm install\nnpm start\n```\n\nOpen up a browser (better Chrome) and navigate to http://localhost:1881\n\n### 3° Option - Install from [NPM](https://www.npmjs.com/package/@frangoteam/fuxa)\n\nYou need to have installed [Node.js](https://nodejs.org/en/about/previous-releases)\n- Recommended: Node.js 18 LTS\n\n**WARNING** In linux with nodejs Version 18 the installation could be a challenge.\nIf you don't intend communicate with Siemens PLCs via S7 (node-snap7 library) you can install from [NPM @frangoteam/fuxa-min](https://www.npmjs.com/package/@frangoteam/fuxa-min)\n\n```\nnpm install -g --unsafe-perm @frangoteam/fuxa\nfuxa\n```\n\nOpen up a browser (better Chrome) and navigate to http://localhost:1881\n\n### 4° Option - Install using prebuilt Electron Packages\n\nYou will need to be logged into github to access the download button for Electron Action Builds,\nclick on the workflow and scroll down to Artifacts and click the download icon for you system\n\n[Electron Action Builds](https://github.com/frangoteam/FUXA/actions/workflows/electron_latest.yml)\n\n\u003cimg width=\"2082\" height=\"531\" alt=\"image\" src=\"https://github.com/user-attachments/assets/40f01e1d-cf39-4145-99a0-e8fedf791edf\" /\u003e\n\n### Creating the Electron Application\nElectron is a framework for building cross-platform desktop applications using web technologies. An Electron application is standalone, meaning it can be run independently on your desktop without needing a web browser.\n\nTo create the Electron application, you need to have node.js 18 installed. Follow these steps:\n\nBuild Server and Client First\n```\ncd ./server\nnpm install\ncd ../client\nnpm install\nnpm run build\n```\n\nPackaging\n```\ncd ./app\nnpm install\nnpm run package\n```\n\nAfter following these steps, you will have a standalone Electron application for FUXA. The application can be found in the ./app directory.\n\n## Usage\n- Look the guide in [wiki](https://github.com/frangoteam/FUXA/wiki) pages\n- Look video from [frangoteam](https://www.youtube.com/@umbertonocelli5301)\n- Look video from [Fusion Automate - Urvish Nakum](https://youtube.com/playlist?list=PLxrSjjYyzaaK8uY3kVaFzfGnwhVXiCEAO\u0026si=aU1OxgkUvLQ3bXHq)\n\n## Community SVG Widgets\n\nLooking for ready-made, reusable SVG widgets?\nCheck out the companion repository **FUXA-SVG-Widgets**:\n\n- Repository: https://github.com/frangoteam/FUXA-SVG-Widgets\n- Authoring guide \u0026 examples: see the repo README and the Wiki page:\n  https://github.com/frangoteam/FUXA/wiki/HowTo-Widgets\n\n## To Debug (Full Stack)\nInstall and start to serve the frontend\n```\ncd ./client\nnpm install\nnpm start\n```\n\nStart the Server and Client (Browser) in Debug Mode\n```\nIn vscode: Debug ‘Server \u0026 Client’\n```\n\n## To Build\nBuild the frontend for production\n```\ncd ./client\nng build --configuration=production\n```\n\n## Contributing\nAny contributions you make are greatly appreciated.\nIf you identify any errors, or have an idea for an improvement, please open an [issue](/../../issues).\nBut before filing a new issue, please look through already existing issues. Search open and closed issues first.\n\nNon-code contributions are also highly appreciated, such as improving the documentation or promoting FUXA on social media.\n\n### Pull-Requests\nIf you want to raise a pull-request with a new feature, or a refactoring of existing code please first open an issue explaining the problem.\n```\n1. Fork the Project\n2. Create your Feature Branch (git checkout -b feature/AmazingFeature)\n3. Commit your Changes (git commit -m 'Add some AmazingFeature')\n4. Push to the Branch (git push origin feature/AmazingFeature)\n5. Open a Pull Request\n```\n\n### Coding standards\nPlease ensure you follow the coding standards used through-out the existing code base. Some basic rules include:\n- Indent with 4-spaces, no tabs.\n- Opening brace on same line as if/for/function and so on, closing brace on its own line.\n\n## Let us know!\nWe’d be really happy if you send us your own shapes in order to collect a library to share it with others. Just send an email to info@frangoteam.org and do let us know if you have any questions or suggestions regarding our work.\n\n## \u003ca href=\"https://discord.gg/WZhxz9uHh4\" target=\"_blank\" \u003e \u003cimg src=\"https://skillicons.dev/icons?i=discord\" alt=\"\"\u003e\u003c/a\u003e\n\n## License\nMIT.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrangoteam%2Ffuxa","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffrangoteam%2Ffuxa","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrangoteam%2Ffuxa/lists"}