Loading repository data…
Loading repository data…
opentiny / repository
TinyEngine Backend Java is a Spring Boot-based RESTful API service that powers a low-code/visual development platform, enabling users to create applications through drag-and-drop interfaces, component libraries, and visual page builders.
English | 简体中文
Local Boot Steps:
For details, please refer to TinyEngine Official Website - User Manual - Platform Development Guide - Local Startup Joint Debugging of Front-end and Backend Codes.
Before development, you need to understand the overall directory structure of the project and compile code according to the following rules
├── README.md
├── app // Basic services
│ └── src
│ └── main
│ └── java
│ ├── com.tinyengine.it
│ │ ├── config // Profiles
│ │ └── TinyEngineApplication // Startup class, main entrance
│ └── resource
│ ├── sql // SQL files, including table creation files and SQL files of basic data
│ │ ├── h2
│ │ ├──mysql
│ │ └──postgresql
│ └── application.yml
│
│ // Configuration information, some of the configurations that are mainly used to manage the Springboot application globally, some configurations related to MybatisPlus, etc
└── base // Business function services
└── src
├── main
│ └── java
│ └── com
│ └── tinyengine
│ └── it
│ ├── common // Public Documents
│ │ ├── base // Public entity classes
│ │ │ └── BaseEntity
│ │ ├── enums // Public enumeration classes
│ │ │ └── Enums
│ │ ├── exception // Public anomaly classes
│ │ │ └── ExceptionEnum
│ │ ├── handler // Data type processor
│ │ │ └── ListTypeHandler
│ │ ├── log // System logs
│ │ │ └── SystemControllerLog
│ │ └── utils // Utilities
│ │ └── Utils
│ ├── config // Configure the class
│ │ └── AiChatConfig
│ ├── controller // Business control layer
│ │ └── AppController
│ ├── gateway // gateway
│ │ └── ai
│ │ └── AiChatClient
│ ├── mapper // Data access layer
│ │ └── AppMapper
│ ├── model // Model entity class
│ │ ├── dto
│ │ │ └── BlockDto
│ │ └── entity
│ │ └── Block
│ └── service // Business logic layer
│ ├── app // app module
│ │ ├── impl // APP module business implementation class
│ │ │ └── AppServiceImpl
│ │ └── AppService // Business logic interface of the app module
│ ├── material // Material module
│ │ ├── impl // The business implementation class of the material module
│ │ │ └── BlockServiceImpl
│ │ └── BlockService // Taking blocks as an example, this layer is the business logic interface related to the material
│ └── platform // Designer module
│ ├── impl // The business implementation class of the designer module
│ │ └── PlatformServiceImpl
│ └── PlatformService // The business logic interface of the designer module
└── test // The test directory is divided into test cases of different modules according to the above directory
├── java
│ └── com
│ └── tinyengine
│ └── it
│ ├── common
│ │ ├── base
│ │ │ └── ResultTest
│ │ ├── exception
│ │ │ └── GlobalExceptionAdviceTest
│ │ ├── handler
│ │ │ └── ListTypeHandlerTest
│ │ ├── log
│ │ │ └── SystemLogAspectTest
│ │ └── utils
│ │ └── UtilsTest
│ ├── controller
│ │ └── AppControllerTest
│ ├── gateway
│ │ └── ai
│ │ └── AiChatClientTest
│ ├── mapper
│ │ └── AppMapperTest
│ └── service
│ ├── app
│ │ └── impl
│ │ └── AppServiceImplTest
│ ├── material
│ │ └── impl
│ │ └── BlockServiceImplTest
│ └── platform
│ └── impl
│ └── PlatformServiceImplTest
└── resources
{
"data": {
"id": 1,
"createdBy": "1"
}
"code": "200",
"message": "操作成功",
"error": null,
"errMsg": null,
"success": true
}
{
"data": null,
"code": "CM003",
"message": "重复创建,请修改传入参数。",
"error": {
"code": "CM003",
"message": "重复创建,请修改传入参数。"
},
"errMsg": "重复创建,请修改传入参数。",
"success": false
}
For more information about how to use the server, please refer to TinyEngine Official Website - User Manual - Platform Development Guide
JDK1.8, Maven 3.5 or later is sufficient, mysql 8
Blocks -------> historical association changes in blocks: After being refactored by the blocks__histories of nodejs, ref_id the block table associated with this property is directly added to the t_block_history table of the Java database, and there is no need to blocks__histories the associated table
Material -------> block association changes: The block-history_id field in the material block history relationship table of the block_histories_materials__materials_user_blocks of nodejs is used to find the primary key of the block in the block_id block_histories table, and then the block information is found in the block table through the block_id, in order to query more conveniently. In the Java database table, the relationship table between blocks and materials is directly created r_material_block
Summarizing the changes in the database table can be roughly divided into the following types
| nodejs database tables | Java database tables | New attributes | Delete the attribute | Modify the attributes |
|---|---|---|---|---|
| app_extensions | t_app_extension | tenant_id、site_id、renter_id |