Flexmodel 是面向下一代应用程序的统一数据访问层解决方案。提供一站式的数据建模、服务编排、任务调度、文件存储和身份认证能力。
Flexmodel 旨在为开发者提供一个开源、灵活且高度可定制的后端基础架构。它通过模型驱动的设计理念,屏蔽了底层基础设施的复杂性,让开发者能够专注于业务逻辑的实现。
- 📊 数据管理 (Data) - 运行时动态建模,深度适配 10+ 种主流及国产数据库。
- ⚡ 服务编排 (Flow) - 基于可视化流程的业务逻辑编排,实现低代码后端逻辑扩展。
- ⏰ 任务调度 (Job) - 内置分布式任务触发与调度系统。
- 📂 文件存储 (Storage) - 抽象化的文件存储接口,支持 S3、OSS 及本地存储。
- 🔐 身份认证 (Auth) - 完整的 RBAC 权限体系、多租户支持及 JWT 安全验证。
本项目采用多模块架构,各模块职责清晰:
- flexmodel-engine: 核心 DSL 引擎。负责模型定义、查询解析、代码生成及多数据库适配。
- flexmodel-server: 基于 Quarkus 的服务端实现。遵循 DDD 架构,提供 REST/GraphQL API、AI 聊天及任务调度。
- flexmodel-ui: 基于 React + Ant Design 的前端管理后台。负责模型可视化设计、数据管理及系统配置。
- flexmodel-website: 项目官方文档及演示网站。基于 Docusaurus 构建,提供完整的技术文档和快速上手指南。
- 后端: Java 21, Quarkus 3, Maven, SQLite/MySQL/PostgreSQL, MongoDB.
- 前端: React, TypeScript, Ant Design v5, Tailwind CSS, Vite, Docusaurus.
- 协议: REST API, GraphQL, WebSocket, SSE.
请参考各模块的 README.md 获取详细的安装和使用指南:
我们欢迎所有形式的贡献!请查看各模块的贡献指南。
本项目采用 Apache License 2.0 许可证。