[{"data":1,"prerenderedAt":337},["ShallowReactive",2],{"agmd-flowfuse-overview":3,"application-guide-nav":251},{"id":4,"title":5,"blurb":6,"body":7,"description":17,"extension":241,"guide":242,"meta":243,"navOrder":244,"navTitle":5,"navigation":245,"parent":246,"path":247,"seo":248,"slug":13,"stem":249,"__hash__":250},"applicationGuideDoc\u002Fapplication-guide\u002Fflowfuse\u002Foverview.md","Overview","The map of the FlowFuse guide — apps, architectures, and a worked example.",{"type":8,"value":9,"toc":225},"minimark",[10,14,18,34,39,47,67,74,100,107,132,136,143,177,181,210,214],[11,12,5],"h1",{"id":13},"overview",[15,16,17],"p",{},"Turn an app idea into FlowFuse pieces you can name and say in one sentence.",[19,20,22],"callout",{"icon":21},"i-lucide-flag",[15,23,24,33],{},[25,26,27,28],"strong",{},"New to FlowFuse? Start with the ",[29,30,32],"a",{"href":31},"\u002Fapplication-guide\u002Fflowfuse\u002Ffoundations\u002F","Foundations →"," — what FlowFuse is and its core pieces, the grounding for everything in this guide.",[35,36,38],"h2",{"id":37},"apps","Apps",[40,41,43],"h3",{"id":42},"app-delivery-methods",[29,44,46],{"href":45},"\u002Fapplication-guide\u002Fflowfuse\u002Fapp-delivery-methods\u002F","App delivery methods",[48,49,50,59],"ul",{},[51,52,53,58],"li",{},[25,54,55],{},[29,56,57],{"href":45},"Whole app"," — A complete, versioned project promoted through dev, staging and prod — via snapshots & pipelines.",[51,60,61,66],{},[25,62,63],{},[29,64,65],{"href":45},"Pieces"," — A reusable piece packaged to the Team Library, installed like a shared library — via subflow export.",[40,68,70],{"id":69},"hardware-apps",[29,71,73],{"href":72},"\u002Fapplication-guide\u002Fflowfuse\u002Fhardware-apps\u002F","Hardware apps",[48,75,76,84,92],{},[51,77,78,83],{},[25,79,80],{},[29,81,82],{"href":72},"Packaged App"," — Sealed product on a Remote Instance, identical on every device.",[51,85,86,91],{},[25,87,88],{},[29,89,90],{"href":72},"Configurable App"," — Same build on a Remote Instance, tuned by a per-site config file that lives on the device.",[51,93,94,99],{},[25,95,96],{},[29,97,98],{"href":72},"Edge Building Block"," — A reusable edge block you wire into your own upstream flows.",[40,101,103],{"id":102},"software-apps",[29,104,106],{"href":105},"\u002Fapplication-guide\u002Fflowfuse\u002Fsoftware-apps\u002F","Software apps",[48,108,109,116,124],{},[51,110,111,115],{},[25,112,113],{},[29,114,82],{"href":105}," — Headless job on a Hosted or Remote Instance, no screen.",[51,117,118,123],{},[25,119,120],{},[29,121,122],{"href":105},"Data-Driven App"," — User-facing app on a Hosted Instance, backed by data.",[51,125,126,131],{},[25,127,128],{},[29,129,130],{"href":105},"Shared Building Block"," — Reusable UI or logic many Hosted Instances embed.",[35,133,135],{"id":134},"architectures","Architectures",[40,137,139],{"id":138},"data-plane-how-data-is-handled",[29,140,142],{"href":141},"\u002Fapplication-guide\u002Fflowfuse\u002Fdata-plane\u002F","Data plane — how data is handled",[48,144,145,153,161,169],{},[51,146,147,152],{},[25,148,149],{},[29,150,151],{"href":141},"Built in — Tables"," — Relational records — built into every FlowFuse install, exposed to every instance.",[51,154,155,160],{},[25,156,157],{},[29,158,159],{"href":141},"Built in — Broker \u002F UNS"," — Team Broker — built into every FlowFuse install; publish once, many subscribe.",[51,162,163,168],{},[25,164,165],{},[29,166,167],{"href":141},"Time-series"," — External today — no built-in TSDB; run Timescale\u002FQuest and expose it to the fleet.",[51,170,171,176],{},[25,172,173],{},[29,174,175],{"href":141},"Bring your own"," — Expose any other store or service (SQL, ML, gateway) over Project Link.",[40,178,180],{"id":179},"execution-plane-where-it-runs","Execution plane — where it runs",[48,182,183,192,201],{},[51,184,185,191],{},[25,186,187],{},[29,188,190],{"href":189},"\u002Fapplication-guide\u002Fflowfuse\u002Fot-architectures\u002F","OT architectures"," — Near the equipment — edge with the server in IT or an OT\u002FDMZ, hardware-saving consolidation, and air-gapped sites.",[51,193,194,200],{},[25,195,196],{},[29,197,199],{"href":198},"\u002Fapplication-guide\u002Fflowfuse\u002Fit-architectures\u002F","IT architectures"," — Hosting & governing — on-prem, your cloud per-site, hosting choice at scale, and enterprise governance.",[51,202,203,209],{},[25,204,205],{},[29,206,208],{"href":207},"\u002Fapplication-guide\u002Fflowfuse\u002Fiiot-architectures\u002F","IIoT architectures"," — The live data backbone — a Unified Namespace where edge publishes once and many subscribe, across every site.",[35,211,213],{"id":212},"examples","Examples",[48,215,216],{},[51,217,218,224],{},[25,219,220],{},[29,221,223],{"href":222},"\u002Fapplication-guide\u002Fflowfuse\u002Fworked-example\u002F","Worked example"," — OEE, end to end — the full chain from edge to broker to cloud to history.",{"title":226,"searchDepth":227,"depth":227,"links":228},"",4,[229,236,240],{"id":37,"depth":230,"text":38,"children":231},2,[232,234,235],{"id":42,"depth":233,"text":46},3,{"id":69,"depth":233,"text":73},{"id":102,"depth":233,"text":106},{"id":134,"depth":230,"text":135,"children":237},[238,239],{"id":138,"depth":233,"text":142},{"id":179,"depth":233,"text":180},{"id":212,"depth":230,"text":213},"md","flowfuse",{},1,true,null,"\u002Fapplication-guide\u002Fflowfuse\u002Foverview",{"title":5,"description":17},"application-guide\u002Fflowfuse\u002Foverview","YvbzfT-qgGcFefdvYW8sZFcO7flh71n8KxI5Q5zRVcg",[252,254,258,262,265,267,272,275,280,283,288,294,298,303,309,315,319,322,325,328,332],{"guide":242,"slug":13,"title":5,"navOrder":244,"parent":246,"blurb":6,"path":253},"\u002Fapplication-guide\u002Fflowfuse\u002Foverview\u002F",{"guide":255,"slug":13,"title":5,"navOrder":244,"parent":246,"blurb":256,"path":257},"node-red","The map of the Node-RED guide — the pattern families that turn an app into a clean flow.","\u002Fapplication-guide\u002Fnode-red\u002Foverview\u002F",{"guide":242,"slug":259,"title":260,"navOrder":230,"parent":246,"blurb":261,"path":31},"foundations","Foundations","The foundation to build on: what FlowFuse is, its core pieces, and how code is shared across teams.",{"guide":255,"slug":259,"title":260,"navOrder":230,"parent":246,"blurb":263,"path":264},"The handful of concepts you need to build with Node-RED, and how they fit together.","\u002Fapplication-guide\u002Fnode-red\u002Ffoundations\u002F",{"guide":242,"slug":42,"title":46,"navOrder":233,"parent":246,"blurb":266,"path":45},"Two different units of code, delivered two ways. Ship the whole app — a complete, versioned project promoted through environments — or publish one reusable piece — a package the whole team installs and upgrades in one place. Pick by what you're shipping: the app, or a part of it.",{"guide":255,"slug":268,"title":269,"navOrder":233,"parent":246,"blurb":270,"path":271},"patterns","Patterns","The moves that turn an architecture into a clean, reusable flow — find the seams and reuse well, then handle data on the right paths.","\u002Fapplication-guide\u002Fnode-red\u002Fpatterns\u002F",{"guide":242,"slug":69,"title":73,"navOrder":273,"parent":42,"blurb":274,"path":72},3.1,"The three shapes a FlowFuse app takes when it runs on a device. Pick by how much varies per site: nothing (Packaged App), a few settings (Configurable App), or you assemble it yourself (Edge Building Block).",{"guide":255,"slug":276,"title":277,"navOrder":273,"parent":268,"blurb":278,"path":279},"design-patterns","Design patterns","The structural choices you select for a flow: find the seams it breaks into, then reuse each piece at the lightest level that solves it — link in\u002Fout, link call, subflow, or packaged node.","\u002Fapplication-guide\u002Fnode-red\u002Fdesign-patterns\u002F",{"guide":242,"slug":102,"title":106,"navOrder":281,"parent":42,"blurb":282,"path":105},3.2,"The three shapes a FlowFuse app takes when it runs on the platform. Pick by what it needs: a headless job (Packaged App), a user-facing app driven by data (Data-Driven App), or a reusable piece other apps embed (Shared Building Block).",{"guide":255,"slug":284,"title":285,"navOrder":281,"parent":268,"blurb":286,"path":287},"handling-data","Handling data","Classify each signal by shape, purpose and direction, then pick the methods it needs — separate the paths, pace the flow, hold state in context, and manage config. The methods you select to move a flow's data.","\u002Fapplication-guide\u002Fnode-red\u002Fhandling-data\u002F",{"guide":255,"slug":289,"title":290,"navOrder":291,"parent":268,"blurb":292,"path":293},"good-form","Good form",3.3,"A clean flow isn't luck — it's a handful of habits. Wire for reading, lay it out on a grid, decouple UI from logic, catch errors where you can see them, and keep data on a stable contract. Follow these and a flow stays readable, reusable, and out of spaghetti.","\u002Fapplication-guide\u002Fnode-red\u002Fgood-form\u002F",{"guide":242,"slug":295,"title":296,"navOrder":227,"parent":246,"blurb":297,"path":141},"data-plane","Data plane","Before you pick where things run, decide how data is handled. Two stores come built into every FlowFuse server install — the Team Broker and relational Tables — exposed to every instance with nothing extra to stand up. Everything else you bring your own: run it (a time-series DB, an existing database, a model) and expose it to the fleet over Project Link, no inbound ports. This is the data plane the architectures on the next pages all sit on.",{"guide":255,"slug":299,"title":300,"navOrder":227,"parent":246,"blurb":301,"path":302},"worked-examples","Worked examples","Turn an app concept into a Node-RED flow — or a few — leaning on the design patterns and data handling. The method, then the OEE apps end to end.","\u002Fapplication-guide\u002Fnode-red\u002Fworked-examples\u002F",{"guide":255,"slug":304,"title":305,"navOrder":306,"parent":299,"blurb":307,"path":308},"oee-edge-aggregator","OEE - Edge Aggregator",4.1,"The edge app from the OEE use case as a Node-RED flow — a straight-line flow packaged as a subflow and configured per line (its PLC tags, via a config UI and a get-config node), with the data treated as a stream and its counts held in context.","\u002Fapplication-guide\u002Fnode-red\u002Foee-edge-aggregator\u002F",{"guide":255,"slug":310,"title":311,"navOrder":312,"parent":299,"blurb":313,"path":314},"oee-central-dashboard","OEE - Central Dashboard",4.2,"The cloud app from the OEE use case as a Node-RED flow — one link out fanning to two link ins on separate tabs (dashboard and batched history), so the live and history paths stay separate and easy to read.","\u002Fapplication-guide\u002Fnode-red\u002Foee-central-dashboard\u002F",{"guide":242,"slug":134,"title":135,"navOrder":316,"parent":246,"blurb":317,"path":318},5,"Every FlowFuse deployment is the same building blocks arranged for where it runs — pick the world you're designing for.","\u002Fapplication-guide\u002Fflowfuse\u002Farchitectures\u002F",{"guide":242,"slug":320,"title":199,"navOrder":321,"parent":134,"blurb":246,"path":198},"it-architectures",5.1,{"guide":242,"slug":323,"title":190,"navOrder":324,"parent":134,"blurb":246,"path":189},"ot-architectures",5.2,{"guide":242,"slug":326,"title":208,"navOrder":327,"parent":134,"blurb":246,"path":207},"iiot-architectures",5.3,{"guide":242,"slug":299,"title":300,"navOrder":329,"parent":246,"blurb":330,"path":331},6,"Start from a use case, break it into apps, and draw the architecture that ties them together — the same method a FlowFuse Proof of Value runs.","\u002Fapplication-guide\u002Fflowfuse\u002Fworked-examples\u002F",{"guide":242,"slug":333,"title":334,"navOrder":335,"parent":299,"blurb":336,"path":222},"worked-example","OEE, end to end",6.1,"One use case — OEE across three lines — broken into two apps and two shared services, then drawn out end to end.",1787843652300]