- Added new sections in the README and PROJECT_OVERVIEW to include user and technical guides for the Process Execution interface. - Updated navigation structure to incorporate the Process Execution module, detailing features such as the Execution Dashboard, Task Inbox, and Case History. - Improved overall documentation clarity and organization to assist users in understanding the new process execution functionalities.
5.4 KiB
Corrad ProcessMaker - Project Overview
Introduction
Corrad ProcessMaker is a comprehensive Business Process Management (BPM) platform designed to help organizations automate workflows and streamline business processes. It combines a visual process designer with a powerful form builder to create end-to-end business process solutions.
System Architecture
The application follows a modern web architecture:
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Frontend │ │ Backend │ │ Database │
│ (Nuxt/Vue) │────▶│ (Nitro.js) │────▶│ (MySQL) │
└─────────────────┘ └─────────────────┘ └─────────────────┘
Frontend
- Built with Nuxt 3 and Vue 3
- Uses Pinia for state management
- Rich UI components built with Tailwind CSS
- Form components powered by FormKit
- Process visualization with Vue Flow
Backend
- NitroJS server (part of Nuxt 3 ecosystem)
- RESTful API endpoints
- Server middleware for authentication
- Database interactions via Prisma ORM
Database
- MySQL/MariaDB relational database
- Schema managed via Prisma
- Key tables:
- Users and Roles
- Forms
- Processes
- Tasks
- Audit logs
Core Modules
Process Builder
The Process Builder is the heart of the system, allowing users to design executable business processes following the BPMN standard. Key features include:
- Visual process design with drag-and-drop interface
- Support for various node types:
- Start/End events
- Tasks (manual, form, script)
- Decision Points for branching workflows
- Connection management between nodes
- Properties panel for node configuration
- Variable management for process data
- Integration with forms
Form Builder
The Form Builder complements the Process Builder, enabling users to create forms that integrate with process tasks. Features include:
- Drag-and-drop form designer
- Rich component library
- Text inputs, select dropdowns, checkboxes
- Date/time pickers, file uploads
- Layout components
- Real-time form preview
- Configuration panel for component properties
- Form versioning and management
- Integration with processes
Process Execution
The Process Execution module provides the end-user interface for interacting with deployed workflow processes. Key features include:
- Execution Dashboard for process overview
- Task statistics and metrics
- Recent tasks and processes
- Task Inbox for managing assigned tasks
- Task filtering and search
- Status indicators and due dates
- New Case interface for initiating processes
- Process catalog with descriptions
- Categorized process listing
- Case History for tracking process instances
- Historical record of completed processes
- Timeline visualization of process steps
- Task Detail interface for completing tasks
- Dynamic form rendering
- Case context and variables
- Process timeline visualization
User Flows
Process Design and Execution
- User creates a new process in Process Builder
- User adds and configures process nodes (start, tasks, gateways, end)
- User connects nodes to establish the process flow
- For form tasks, user selects or creates forms
- User sets conditions for gateways
- User deploys the process
- The process becomes available for execution
- Users receive tasks based on assignments
- Process progresses as tasks are completed
Form Creation and Usage
- User creates a new form in Form Builder
- User adds and configures form components
- User sets validation rules and field properties
- User saves and publishes the form
- The form becomes available for use in processes
- When a form task is encountered in a process, the assigned user sees the form
- Form submissions store data in the process variables
Process Participation
- User logs into the system and views their task inbox
- User opens and completes assigned tasks
- User submits task forms with required data
- Process advances based on task completion
- User can view process history and status
- User can initiate new process instances
Data Flow
- Process execution begins at a start event
- As the process moves through tasks, data is collected and transformed
- Forms collect user input and store it in process variables
- Gateway conditions evaluate process variables to determine flow paths
- Script tasks manipulate process data
- Process completion provides output data
Authentication and Authorization
- User authentication via username/password
- Role-based access control
- Permission management for processes and forms
- Audit logging of user actions
Integration Points
The system is designed for extensibility with several integration points:
- API endpoints for external system communication
- Script tasks for custom code execution
- Database connections for data persistence
- Authentication integration with external identity providers
Future Development Areas
- Process templates and versioning
- Advanced analytics and reporting
- Mobile-friendly execution interface
- Expanded notification system
- Enhanced variable validation
- Subprocess support
- API expansion for 3rd party integration