my-workflows-app

所属分类:智慧办公
开发工具:Java
文件大小:0KB
下载次数:0
上传日期:2023-12-25 11:30:43
上 传 者sh-1993
说明:  My Workflows是一个基于Java作为编程语言的开源应用程序。
(My Workflows is an open source application based on Java as programming language.)

文件列表:
frontend/
src/
LICENSE.md
checkstyle.xml
package-lock.json
package.json
pom.xml
tsconfig.json
types.d.ts
vite.config.ts
vite.generated.ts

# MyWorkflows **MyWorkflows** is a simple tool for creating workflows to automate daily job and to get rid of manual tasks. You can easily create workflows, schedule them using cron-jobs and make your life easier. Uses Java as programming language and Vaadin as UI framework. This tool is perfect for small teams which are flooded by manual tasks day by day. All workflows are defined in JSON format and for playing with them you have a nice GUI. ## Technology stack * Java 17 as programming language. * Spring Boot 3.x as dependency injection framework * [Vaadin 24](https://vaadin.com/) as UI framework * Use [Groovy](https://groovy-lang.org/) as additional language for defining workflow commands * Use [SpEL](https://docs.spring.io/spring-framework/docs/3.0.x/reference/expressions.html) as runtime evaluator to propagate data between two or multiple commands. ## Features * Modern and responsive UI. ## TODOs - [ ] **Checkpoints**. Introduce ability to reschedule a failing workflow from a specific moment in time. - [ ] **Debugger**. Improve debugging experience for failing workflows to easily find the root cause of their failure. ## Abbreviations * **Command**: Represents a standalone entity for executing an operation. A command has a name, a type, inputs, asserts and outputs. * **Workflow**: Represents one or multiple commands which will be executed on a single thread and in a sequential order. * **Input**: Each commands needs some inputs in order to do the expected operation. * **Assert**: Once a command is completed, the output, if exists, can be validated through a set of assertions. * **Output**: Once a command is completed, the output, if exists, can be processed further more and saved in other variables. * **Variable**: Represents a standalone data variable which is generated by a command and can be used as input by upcoming commands. ## Running the application There are two ways to run the application: using `mvn spring-boot:run` or by running the `Application` class directly from your IDE. You can use any IDE of your preference, but I suggest Intellij IDEA. ## Structure Vaadin web applications are full-stack and include both client-side and server-side code in the same project. | Directory | Description | |:----------------------------------------------------------|:------------------------------------------------------| | `frontend/` | Client-side source directory | |     `themes/` | Themes directory (CSS) | |         `simple/` | Default theme | | `src/main/java/org/myalerts` | Server-side source directory | |     `component/` | Package with all Vaadin custom components | |     `config/` | Package with different Spring configuration beans | |     `domain/` | Package with all classes part of application domain | |     `provider/` | Java package with a set of providers | |     `service/` | Contains a set of services exposed by the application | |     `Application.java` | Server entrypoint |

近期下载者

相关文件


收藏者