Skip to main content

Developer & AI Navigation Manual

Welcome to the Geelato Framework! This document is designed for both human developers and AI coding assistants (e.g., Trae, Copilot). It provides a clear capability matrix, a quick lookup map, and best practices for collaborating with AI, helping you quickly locate requirements and start coding.

๐ŸŽฏ Quick Start Decision Treeโ€‹

Different scenarios have different entry points. Choose based on your needs:

My Goal Is...Recommended Path / Anchor
I want to start from scratch and quickly generate a complete CRUD backend projectRecommended to use the App Scaffold. See: Scaffold Project Guide
I have an existing Spring Boot project and want to integrate Geelato core capabilitiesRecommended Minimal Integration. See: Minimal Integration
I want to learn the architecture design and the relationship between Runtime and DesignerRead the architecture docs. See: PlatformWebRuntime
I want to quickly integrate Single Sign-On (SSO) and authenticationSee the authentication overview. See: Authentication Overview

๐Ÿ› ๏ธ Capability Matrixโ€‹

When you need a specific function during development, use the table below to quickly jump to the corresponding guide.

Data & Storageโ€‹

IntentCore Components / Tech StackDocumentation
Write backend CRUD codeMetaFactory, Fluent DSLORM: Fluent DSL
Configure table names and field mappings on Entity classes@Title, @Col, @ModelORM: Annotations
Perform complex queries via JSON from frontend or gatewayMQL (Meta Query Language)MQL: Syntax & Usage
Configure or connect multiple databasesDynamic DatasourceDynamic Datasource

Business & Extensionsโ€‹

IntentCore Components / Tech StackDocumentation
Get current login user, tenant, or request contextGlobal Context, SecurityContextCapabilities: Global Context
Intercept logic before/after data save or updateEntity Events, Event BusORM: Event Features
Extend platform default rules (e.g., query filters, field filling)SPI, Spring BeanQuery Filter and Field Fill SPI
Develop, load, and unload business pluginsPlugin MechanismPlugin: Development

Files & Interfacesโ€‹

IntentCore Components / Tech StackDocumentation
Handle attachment upload and downloadFileController, OSS ModuleFile Upload
Query RESTful API contracts provided by the backendSrvExplain, OpenAPIAPI Reference

๐Ÿค– AI Assistant Context & Promptsโ€‹

If you are using an AI assistant (like Trae, Cursor), providing the correct "Geelato terminology" will yield higher-quality code generation.

  • ๐ŸŸข When building queries:

    "Please use Geelato's MetaFactory and Fluent DSL (MetaQuery) to write Java code that queries the top 10 records from the dev_project table where status is 1."

  • ๐ŸŸข When writing Entity classes:

    "Please use Geelato's ORM annotations (@Title, @Col, @Model) to define an entity class named SysUser with id, name, and loginName fields."

  • ๐ŸŸข When integrating frontend APIs:

    "Based on Geelato's MQL syntax, construct a JSON request body for paginated queries on the user table (gl_user) with a join on the department table (gl_org)."

  • ๐ŸŸข When retrieving the current user:

    "In a Spring Boot Controller, how do I get the current request's tenantCode and userId using Geelato's SecurityContext or Global Context?"

๐Ÿ’ก Key Context to Feed AIโ€‹

If you need the AI to better understand a Geelato project, you can paste the following context:

"This project is built on the Geelato Framework, a metadata-driven foundation that supports adaptive seamless switching between multiple databases such as MySQL, PostgreSQL, and Oracle. Direct SQL or MyBatis XML is NOT recommended for database operations. Instead, use the built-in ORM (via MetaFactory for FluentDSL) or the JSON-based MQL syntax. The project's security context is usually handled by the unified authentication module. For API design, refer to the SrvExplain API specification."


Next Step: If you are new here, we suggest jumping straight to ๐Ÿ‘‰ Quick Start.