xmartflow, Form & Data Management, Workflow Automation, Workflow Management

XmartFlow

XmartFlow
0 claps 0 comments Share

1. xmartusermanagement (quick recap)

What it does: Handles who you are, not what you can do in each app.

Responsibility Details
Login / register POST api/Account/login, register, forgot password
JWT tokens Issues tokens signed with a shared secret
Roles in token At login, it calls Form and Workflow APIs to fetch roles and embeds them as claims like roles:Formroles:Workflow
Notifications Sends workflow step emails when workflow moves to next approver

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

Part What it is Who uses it
Xmart.Form.Server .NET API backend All frontends call this
Xmart.Form.Client React admin SPA at /admin/ Form designers / admins
xmart-spa-gateway Nginx reverse proxy Bundles multiple UIs on one port (8088)

What xmartflow actually manages

  1. Form designer — Create forms, sections, and fields (dynamic, metadata-driven)
  2. Documents — Saved form submissions (e.g. a valuator registration record)
  3. Contracts — Generated from templates + form data
  4. Templates — HTML contract templates with placeholders
  5. Compliance, pools, departments, locations — Supporting master data
  6. Roles & permissions — App-level RBAC for the Form module

Typical API responsibilities

  • Form/* — Get form structure by ID or key
  • Document/Save — Save a filled form (this is the main submission endpoint)
  • Contract/CreateContract — Create a contract from a document
  • Contract/SetContractSentToWorkflow — Mark that approval has started
  • Document/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

Part What it is
Xmart.Workflow.Server .NET API — workflow engine
XmartWorkflow.client React SPA at /workflow/ — approvers’ task inbox

Core concepts

Concept Meaning
Workflow template A predefined approval chain (Step 1 → Step 2 → Step 3)
Workflow entity A business item registered for approval (linked to a document/contract in xmartflow)
Workflow instance A running approval for one entity
Step assignment Who currently holds the task
Pool Shared queue (any pool member can pick up the task)

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

Workflow UI — main screens

Screen Purpose
Home Documents waiting to start workflow
My Task Items needing your action
In Progress Items you started but not at your step yet
Completed / Rejected History
Task Approval Main screen to approve/reject/view contract
Settings Create workflows, manage pools and roles

4. xmartflowapp / ValuatorEnlistment — The “Valuator Business App”

In simple words: This is a domain-specific frontend for managing property valuators (people/companies who do property valuations for a bank). It does not replace xmartflow or xmartworkflow — it uses them.

It is one of several clients under xmartflowapp (alongside Legal, Bottlers, etc.). ValuatorEnlistment is tailored for valuator enlistment and lifecycle management.

What business problems it solves

From CompanyData.json, the main modules are:

Module What users do
Valuator Register new person/company valuators, view completed records, track in-progress
Change In Limit Change valuation category/limit for multiple valuators
Area Update Change geographic working area (province/district/local body)
Delistment Remove a valuator from the approved list
Blacklist Block a valuator

Post-enrollment actions (from completed valuator list)

  • Suspension — Temporary hold with reason
  • Renewal — Re-register / extend
  • Delistment / Blacklist — As above

How forms work here

Forms are not hardcoded. The UI loads form structure from xmartflow and renders it dynamically (FormRenderer). Admins design forms in the Admin UI; ValuatorEnlistment just displays and submits them.

Form keys (examples):

  • form_person_valuator_registration
  • form_company_valuator_registration
  • form_valuator_suspension
  • form_valuator_delistment
  • form_valuator_blacklist

Main user journeys

A. New valuator registration

  1. User logs in → JWT from xmartusermanagement
  2. Lands on /Valuator/std/cov (hub)
  3. Chooses “Person Valuator” or “Company Valuator”
  4. Fills dynamic form (loaded from xmartflow)
  5. Submits → POST Document/Save on xmartflow
  6. Clicks Start Workflow → creates contract + workflow entity
  7. Approvers work in Workflow UI (/workflow/)
  8. When done → valuator appears in “Completed Records”

B. Delistment / Blacklist

  1. User goes to Delistment or Blacklist
  2. Enters valuator document ID (e.g. NSD_000220)
  3. App looks up the record in xmartflow
  4. Opens the action form linked to the parent valuator
  5. Submits → new document linked via RelatedDocumentIds
  6. Goes through workflow again

C. Suspension

  1. From completed valuator list → Actions → Suspension
  2. Shows read-only valuator profile
  3. User enters reason and submits
  4. Creates a child document linked to the original valuator

D. Change in limit / Area update (bulk)

  1. User picks multiple valuators from a searchable list
  2. Sets new category (limit) or new geographic area
  3. Submits one form with repeatable sections
  4. Each section links back to a valuator via RelatedDocumentIds

Which backends ValuatorEnlistment calls

Backend Used for
xmartusermanagement (:7251) Login, 2FA, user list
xmartflow (:7007) Forms, documents, contracts, templates
xmartworkflow (:7054) Start workflow, check completed tasks

Cross-app navigation (SSO-style)

The navbar encrypts the JWT and passes it as ?myToken=... when opening Workflow or Form Admin in a new tab, so users don’t log in again.

 

Responsibility split

Project Role Analogy
xmartusermanagement Login, JWT, emails Security guard + ID card issuer
xmartflow Forms, data, contracts, templates Database + form builder + document store
xmartworkflow Approval chains, tasks, history Approval routing system
ValuatorEnlistment Valuator-specific screens and flows The actual “valuator desk” application
xmart-spa-gateway Single entry URL for UIs Reception desk routing visitors to the right floor

6. End-to-End Example: “Register a New Valuator”

  1. Admin designs “Person Valuator Registration” form in xmartflow Admin (/admin/)
  2. Bank staff opens ValuatorEnlistment, logs in via UserManagement
  3. Staff fills the form; data saves to xmartflow as a Document
  4. Staff clicks Start Workflow:
    • Contract created in xmartflow
    • Workflow entity created in xmartworkflow
    • First approver gets email from UserManagement
  5. Approver opens Workflow UI (/workflow/myTask), reviews, approves step by step
  6. On final approval, workflow calls xmartflow → document marked IsWorkflowComplete = true
  7. Valuator shows in Completed Records in ValuatorEnlistment

7. Summary in One Line Each

Project One-line summary
xmartusermanagement Who you are — login and JWT
xmartflow What the forms look like and where submitted data/contracts live
xmartworkflow Who must approve what, and in which order
ValuatorEnlistment The valuator-specific app that uses all three above
xmart-spa-gateway One URL to host Admin, Workflow, and Legal UIs together
0 claps 0 comments

Written by

maharjanatullya

Publishing thoughtful stories for readers who want a slower, clearer page.

Responses

0 comments on this story.

Sign in to comment, clap, and join the discussion.

No comments yet

Be the first reader to respond.

Writing resources

Newsletter Best Practices