Soft & Solution ยท Dynamic System Generator
Configurable workflow applications
A workflow system that combines drag-and-drop process configuration, dynamic forms, role-based steps, and notifications. This example follows a job application from submission to final decision.
The problem and my contribution
Government applications repeatedly needed the same building blocks: forms, statuses, permissions, review steps, and notifications. I developed a configurable workflow system and reusable components for these applications at Soft & Solution.
I built shared identity, validation, and multilingual components for use across applications. I maintained compatibility with existing modules and made forms and workflows configurable so changes could be handled through configuration.
The workflow definition brings those building blocks together. Administrators configure the process; users see the applications and actions available to their roles. The screenshots below come from the original project walkthrough.
1. Define the process
Each node represents a step, and the connections define the transitions between steps. In this example, an applicant submits a form, HR reviews it, a team leader evaluates it, and a final reviewer approves or refuses it.
2. Configure the form
The form editor defines the input collected at a step. Fields have properties such as their name, type, required status, and visibility. The job-application example includes first name, last name, and a CV upload.
3. Apply roles and review decisions
The configured roles determine who can start an application and who can act at each review step. The original walkthrough demonstrates HR sending an application to the team leader, followed by a final decision. The application moves through the defined statuses as those decisions are made.
4. Attach notifications to transitions
A change of status can trigger an email, SMS, or in-system notification. This configuration sits alongside the transition, so the notification belongs to the step that causes it.
Testing and maintenance
I wrote unit and integration tests and checked approval paths, allowed and denied actions, validation errors, and multilingual behavior. Verification also included QA/user acceptance checks; testing tools used on the project included xUnit, NUnit, Moq, NSubstitute, and Postman.
I improved SQL query performance, investigated production bugs, reviewed and refactored code, coordinated developers, and deployed updates and fixes.
What the system delivers
The configured workflow becomes a role-aware application: a user submits information, reviewers make decisions, and notifications follow the selected transitions. Forms and process rules can be changed through the configuration interface.