corrad-bp/doc/overview/PROJECT_OVERVIEW.md
Md Afiq Iskandar 0b0b4a90b9 Refactor Process Builder Components and Update Documentation
- Renamed components and terminology for clarity, changing "Gateway" to "Decision Point" and updating related documentation.
- Enhanced the GatewayConditionManager to support condition groups, allowing for better organization and management of conditions.
- Improved the ProcessFlowCanvas to handle node updates more efficiently and ensure consistent label handling.
- Updated the README and various documentation files to reflect changes in terminology and provide clearer guidance on using the Process Builder.
- Enhanced user experience by refining the UI for condition management and node selection processes.
2025-05-19 11:56:55 +08:00

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)
    • 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

User Flows

Process Design and Execution

  1. User creates a new process in Process Builder
  2. User adds and configures process nodes (start, tasks, gateways, end)
  3. User connects nodes to establish the process flow
  4. For form tasks, user selects or creates forms
  5. User sets conditions for gateways
  6. User deploys the process
  7. The process becomes available for execution
  8. Users receive tasks based on assignments
  9. Process progresses as tasks are completed

Form Creation and Usage

  1. User creates a new form in Form Builder
  2. User adds and configures form components
  3. User sets validation rules and field properties
  4. User saves and publishes the form
  5. The form becomes available for use in processes
  6. When a form task is encountered in a process, the assigned user sees the form
  7. Form submissions store data in the process variables

Data Flow

  1. Process execution begins at a start event
  2. As the process moves through tasks, data is collected and transformed
  3. Forms collect user input and store it in process variables
  4. Gateway conditions evaluate process variables to determine flow paths
  5. Script tasks manipulate process data
  6. 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