# How Rumata fits together

Understand how the parts of your application work together.

Source: https://docs.rumata.dev/guides/architecture
Reviewed: 2026-09-06

## Before you start

- Familiarity with a Rumata project and factory.

<a id="product-model"></a>

## One product, connected parts

The frontend is the interface people use. [Workflows](https://docs.rumata.dev/guides/controls-workflows#list) coordinate actions, and activities perform reusable backend work. Databases store structured information, and [project storage](https://docs.rumata.dev/guides/system-explorer-storage) holds files. Permissions control which people and workflows can act on those resources.

| Part | Plain-language purpose |
| --- | --- |
| Project | Owns resources and collaboration state. |
| Factory | The workbench for building and iterating. |
| Frontend | The screens your users open. |
| Workflow | The sequence that turns an event into an outcome. |
| Activity | A reusable backend operation called by a workflow. |
| Database | Structured application records. |
| Project storage | Persistent file content. |
| Secret | A protected value used by an authorized integration. |
| Billing account | The owner of allowances and commercial usage. |

<a id="request-journey"></a>

## Follow one user action

1. A user opens the published frontend and submits a request.
2. The frontend calls the intended backend workflow endpoint.
3. Rumata checks the route, access, and whether the work can be admitted.
4. The workflow validates data, invokes activities or queries, and produces a result.
5. The frontend displays the result. Use run history and operational views to investigate what happened.

This example shows how the parts connect. Your application may use different tables, workflows, and steps.

<a id="separate-lifecycles"></a>

## Separate lifecycles matter

Each resource runs independently. A [development machine](https://docs.rumata.dev/guides/development#machine) can suspend while the published frontend stays available. A frontend can load even if a workflow fails, and a workspace can open while its database is starting. When investigating an issue, check the affected resource.

## Related guides

- [Navigate your workspace](https://docs.rumata.dev/guides/workspace)
- [Code and development machines](https://docs.rumata.dev/guides/development)
- [Workflows](https://docs.rumata.dev/guides/system-explorer-workflows)
- [Understand plans and usage](https://docs.rumata.dev/guides/billing)