Skip to content

Latest commit

 

History

History
553 lines (481 loc) · 12.2 KB

File metadata and controls

553 lines (481 loc) · 12.2 KB
layout home
hero
name text tagline image actions
Zeka Stack
一个现代化的 Java 微服务工程体系
src alt
/logo.png
Zeka Stack
theme text link
brand
🚀 快速开始
/guide/
theme text link
alt
🔥 关于
/about/
theme text link
alt
⭐ GitHub
features
icon title details
🚀
快速入门
开箱即用的微服务脚手架,快速搭建企业级应用
icon title details
💡
模块化设计
高度解耦的模块化架构,按需引入,灵活组合
icon title details
🎯
最佳实践
融合业界最佳实践,提供规范化的开发指南
icon title details
🔧
丰富组件
内置丰富的基础组件,涵盖日志、认证、缓存等常用功能
icon title details
🐳
云原生支持
支持容器化部署,无缝对接 Kubernetes 生态
icon title details
📚
完整文档
每个模块都包含完整的文档和示例代码
⚡ Zeka Stack Spring Boot 3.x JDK 17+ AI Ready Best Practices TDD

🎯 项目概览

Zeka Stack 是一个现代化的 Java 微服务工程体系,提供开箱即用的企业级开发框架,帮助开发者快速构建高质量的微服务应用。

20+
核心模块
100+
代码示例
无限可能

📚 模块体系

Arco Meta

构建与依赖基座

父 POM、依赖管理与构建插件体系,统一工程规范与质量门槛。

Blen Kernel

基础能力内核

认证、校验、追踪与测试支持,覆盖企业级基础能力。

Cubo Starter

标准化启动器

按需组合的 Starter 集合,确保项目起步即规范。

Cubo Examples

示例与最佳实践

可运行示例与工程模板,帮助快速验证与落地。

🛠️ 技术栈

Spring Boot 3.x
Spring Cloud 2023.x
Java 17+
统一构建 多层 parent + 插件体系
标准能力 统一异常、日志、监控
可演进架构 单体与微服务双模式

🚀 快速开始

# 1. 克隆项目
git clone https://github.com/zeka-stack/zeka-stack.git

# 2. 进入项目目录
cd zeka-stack

# 3. 构建项目
mvn clean install

📖 参考资源


👤 关于作者

个人站点

个人项目

<style> :root { --zeka-ink: #0f172a; --zeka-mist: #f8f4ef; --zeka-accent: #f28c28; --zeka-teal: #0b7285; --zeka-olive: #2b8a3e; --zeka-sand: #f2e9e1; --zeka-shadow: 0 10px 30px rgba(15, 23, 42, 0.12); } .home-content { max-width: 1200px; margin: 0 auto; padding: 2rem 1rem; font-family: "Space Grotesk", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif; position: relative; isolation: isolate; } .signal-bar { display: flex; flex-wrap: wrap; gap: 0.6rem; padding: 0.75rem 1rem; background: var(--zeka-sand); border: 1px solid rgba(15, 23, 42, 0.08); border-radius: 999px; font-size: 0.85rem; color: var(--zeka-ink); margin: 0.5rem 0 2rem; box-shadow: var(--zeka-shadow); } .signal-bar span { background: #fff; padding: 0.35rem 0.75rem; border-radius: 999px; border: 1px solid rgba(15, 23, 42, 0.08); letter-spacing: 0.2px; } .overview-section { background: linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(248, 244, 239, 0.9)); border: 1px solid rgba(15, 23, 42, 0.08); border-radius: 20px; padding: 2rem 2rem 1.5rem; box-shadow: var(--zeka-shadow); margin: 1.5rem 0 2.5rem; } .overview-header h2 { margin: 0 0 0.75rem; font-size: 1.6rem; color: var(--zeka-ink); } .overview-header p { margin: 0; color: rgba(15, 23, 42, 0.72); max-width: 720px; line-height: 1.7; } .stats-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1.5rem; margin: 2rem 0 0; } .stat-card { background: linear-gradient(135deg, rgba(255, 255, 255, 0.9) 0%, rgba(242, 233, 225, 0.8) 100%); border: 1px solid rgba(15, 23, 42, 0.08); border-radius: 12px; padding: 2rem 1.5rem; text-align: center; transition: all 0.3s ease; overflow: visible; min-height: 160px; display: flex; flex-direction: column; justify-content: center; align-items: center; animation: floatUp 0.6s ease both; } .stat-card:hover { transform: translateY(-4px); box-shadow: var(--zeka-shadow); border-color: var(--zeka-teal); } .stat-number { font-size: 3rem; font-weight: 700; line-height: 1.3; background: linear-gradient(135deg, var(--zeka-teal) 0%, var(--zeka-accent) 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; margin-bottom: 0.5rem; display: block; overflow: visible; white-space: nowrap; word-break: keep-all; } .stat-label { color: rgba(15, 23, 42, 0.7); font-size: 0.9rem; line-height: 1.5; margin-top: 0.5rem; } .module-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1.25rem; margin: 1.5rem 0 2rem; } .module-card { background: #fff; border: 1px solid rgba(15, 23, 42, 0.08); border-radius: 14px; padding: 1.5rem; box-shadow: var(--zeka-shadow); transition: transform 0.3s ease, box-shadow 0.3s ease; } .module-card:hover { transform: translateY(-6px); box-shadow: 0 14px 32px rgba(15, 23, 42, 0.16); } .module-card h3 { margin: 0.75rem 0 0.5rem; font-size: 1.15rem; color: var(--zeka-ink); } .module-card p { margin: 0; color: rgba(15, 23, 42, 0.68); line-height: 1.6; } .module-badge { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.35rem 0.75rem; border-radius: 999px; font-size: 0.75rem; letter-spacing: 0.3px; border: 1px solid transparent; } .module-arco { background: rgba(11, 114, 133, 0.12); color: var(--zeka-teal); border-color: rgba(11, 114, 133, 0.3); } .module-blen { background: rgba(43, 138, 62, 0.12); color: var(--zeka-olive); border-color: rgba(43, 138, 62, 0.3); } .module-cubo { background: rgba(242, 140, 40, 0.15); color: #c96a0e; border-color: rgba(242, 140, 40, 0.4); } .module-examples { background: rgba(15, 23, 42, 0.08); color: #1f2937; border-color: rgba(15, 23, 42, 0.18); } .tech-stack { display: flex; gap: 1rem; flex-wrap: wrap; margin: 1.5rem 0; } .tech-item { background: #fff; border: 1px solid rgba(15, 23, 42, 0.08); border-radius: 8px; padding: 1rem 1.5rem; display: flex; flex-direction: column; gap: 0.25rem; transition: all 0.3s ease; } .tech-item:hover { border-color: var(--zeka-accent); transform: translateY(-2px); } .tech-item strong { color: var(--zeka-ink); font-size: 1rem; } .tech-item span { color: rgba(15, 23, 42, 0.7); font-size: 0.85rem; } .workflow-strip { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1rem; padding: 1.25rem; background: rgba(11, 114, 133, 0.08); border: 1px solid rgba(11, 114, 133, 0.2); border-radius: 16px; margin: 2rem 0; } .workflow-strip strong { display: block; color: var(--zeka-ink); font-size: 1rem; } .workflow-strip span { color: rgba(15, 23, 42, 0.7); font-size: 0.85rem; } .resources-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 1.5rem; margin: 2rem 0; } .resource-card { background: #fff; border: 1px solid rgba(15, 23, 42, 0.08); border-radius: 12px; padding: 1.5rem; text-decoration: none; color: inherit; transition: all 0.3s ease; display: flex; flex-direction: column; gap: 0.75rem; } .resource-card:hover { transform: translateY(-4px); box-shadow: var(--zeka-shadow); border-color: var(--zeka-teal); text-decoration: none; } .resource-icon { font-size: 2.5rem; line-height: 1; } .resource-title { font-size: 1.1rem; font-weight: 600; color: var(--zeka-ink); } .resource-desc { font-size: 0.9rem; color: rgba(15, 23, 42, 0.7); line-height: 1.5; } .author-links { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 2rem; margin: 2rem 0; } .author-section { background: #fff; border: 1px solid rgba(15, 23, 42, 0.08); border-radius: 12px; padding: 1.5rem; } .author-section h3 { margin: 0 0 1rem 0; font-size: 1.2rem; color: var(--zeka-ink); font-weight: 600; } .author-section ul { list-style: none; padding: 0; margin: 0; } .author-section li { margin: 0.75rem 0; } .author-section a { color: var(--zeka-teal); text-decoration: none; transition: color 0.2s ease; display: inline-block; } .author-section a:hover { color: var(--zeka-accent); text-decoration: underline; } @keyframes floatUp { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } } @media (max-width: 768px) { .stats-grid { grid-template-columns: 1fr; } .resources-grid { grid-template-columns: 1fr; } .author-links { grid-template-columns: 1fr; } .signal-bar { border-radius: 18px; } .overview-section { padding: 1.5rem; } } </style>