Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ndunnett/foxconnect
Web based tool to automatically generate logic flow diagrams for Foxboro I/A series DCS based on configuration files dumped from the ICC.
https://github.com/ndunnett/foxconnect
Last synced: 1 day ago
JSON representation
Web based tool to automatically generate logic flow diagrams for Foxboro I/A series DCS based on configuration files dumped from the ICC.
- Host: GitHub
- URL: https://github.com/ndunnett/foxconnect
- Owner: ndunnett
- License: mit
- Created: 2023-08-15T14:31:09.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-10-16T22:30:23.000Z (22 days ago)
- Last Synced: 2024-10-18T22:36:28.384Z (20 days ago)
- Language: Python
- Homepage:
- Size: 266 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# FoxConnect
Web based tool to automatically generate logic flow diagrams for Foxboro I/A series DCS based on configuration files dumped from the ICC.
> [!WARNING]
> This app is entirely experimental and an early work in progress, designed for one specific control system and may need to be adapted for others.## Structure
- `packages/app` is the main web application built on [`Quart`](https://github.com/pallets/quart), broken up into blueprints:
- `blocks` has the detail/diagram views and graphing logic
- `main` has the main page templates, navigation, error handling, etc.
- `search` has the search/index view
- `packages/pyfastmurmur3` is a thin wrapper around the Rust crate [`fastmurmur3`](https://crates.io/crates/fastmurmur3), used for fast non-cryptographic string hashing
- `packages/quart_d3graphviz` is a Quart extension to serve the node modules required for [`d3-graphviz`](https://github.com/magjac/d3-graphviz) as static files
- `packages/quart_foxdata` is a Quart extension that encapsulates the data side of the application, i.e. parsing, data models, access/querying, etc.
- `packages/quart_htmx` is a Quart extension to serve the node modules required for [`HTMX`](https://htmx.org/) as static files and provide helper functionality## Setup
> [!Important]
> Docker is required and the directory containing your ICC configuration files must be accessible locally.1. Build the `icc_dumps` volume by running `scripts/build_volume.bat` with the path to the directory containing your ICC configuration files as an argument, i.e. `./scripts/build_volume ../icc_dumps`. This will create a new Docker volume, attach it to a dummy container, copy the configuration files into the volume, then delete the dummy container.
1. Start the server using `docker-compose up` - this will build the project from source and start the production server.
1. Access the application in the browser at `127.0.0.1:5000`.