- Revised the README to provide a comprehensive overview of the Corrad ProcessMaker platform, including its purpose, key components, and technology stack. - Added detailed sections on the Process Builder and Form Builder, outlining their functionalities and features. - Introduced a new documentation structure with dedicated files for user guides, technical appendices, and development guidelines. - Created documentation for the Process Builder and Form Builder, including user instructions, component descriptions, and integration details. - Enhanced the overall organization and clarity of the documentation to assist developers and users in navigating the platform effectively.
4.3 KiB
4.3 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)
- Gateways for decision points
- 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
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
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