1. xmartusermanagement (quick recap)
What it does: Handles who you are, not what you can do in each app.
Authorization (permissions) lives inside each backend (Form, Workflow), not in UserManagement.
2. xmartflow — The “Form & Data Engine”
In simple words: xmartflow is the backbone that stores form designs, submitted data, contracts, and templates. It also has an Admin UI for building forms.
Two main parts
What xmartflow actually manages
- Form designer — Create forms, sections, and fields (dynamic, metadata-driven)
- Documents — Saved form submissions (e.g. a valuator registration record)
- Contracts — Generated from templates + form data
- Templates — HTML contract templates with placeholders
- Compliance, pools, departments, locations — Supporting master data
- Roles & permissions — App-level RBAC for the Form module
Typical API responsibilities
Form/*— Get form structure by ID or keyDocument/Save— Save a filled form (this is the main submission endpoint)Contract/CreateContract— Create a contract from a documentContract/SetContractSentToWorkflow— Mark that approval has startedDocument/UpdateWorkflowCompletedStatus— Mark approval as finished (called by workflow)
Admin UI routes (examples)
/admin/form/create— Design a new form/admin/formvalue/create/:id— Fill a form/admin/contractList— View contracts
Gateway role
xmart-spa-gateway exposes one URL and routes by path:
/admin/→ Form Admin UI/workflow/→ Workflow UI/legal/→ Legal UI
So users open http://host:8088/admin/, .../workflow/, etc., instead of many ports.
3. xmartworkflow — The “Approval Engine”
In simple words: Once a document/contract is submitted, xmartworkflow runs the multi-step approval process — who approves, in what order, approve/reject/query, and history.
Two main parts
Core concepts
What approvers can do
- Approve — Move to next step
- Reject — Send back / mark rejected
- Query — Ask for clarification, send back to previous step or initiator
- Reassign — Vacation / handoff to another user