何文松 3d7dfce935 feat: 安装pgvector扩展并修复graph-service编译问题 2 tuần trước cách đây
..
src 3d7dfce935 feat: 安装pgvector扩展并修复graph-service编译问题 2 tuần trước cách đây
README.md deab4b595a 更新 .gitignore 文件,添加 Java、Flutter 和 Vue 的完整忽略规则 1 tháng trước cách đây
pom.xml 854ea0d485 feat(extract-service): 数据提取规则系统基础设施搭建 1 tháng trước cách đây

README.md

灵越智报 Starter

概述

lingyue-starter 是灵越智报的单体应用启动器,整合了所有微服务模块为一个可独立运行的应用。

功能特性

  • 单体应用架构: 整合所有微服务模块(auth、document、parse、ai、graph、notification)
  • 统一配置: 集中管理所有服务的配置
  • API文档: 集成 SpringDoc OpenAPI(Swagger UI)
  • 请求日志: 自动记录HTTP请求参数
  • 热部署: 支持Spring Boot DevTools热部署
  • 国际化: 支持多语言消息

项目结构

lingyue-starter/
├── pom.xml
└── src/main/
    ├── java/com/lingyue/
    │   ├── LingyueApplication.java      # 主启动类
    │   └── config/                      # 配置类
    │       ├── SpringDocConfig.java     # API文档配置
    │       ├── RequestParameterLoggingConfig.java  # 请求日志配置
    │       └── interceptor/
    │           └── RequestParameterLoggingInterceptor.java
    └── resources/
        ├── application.yml              # 主配置文件
        ├── application-dev.yml          # 开发环境配置
        ├── application-prod.yml         # 生产环境配置
        ├── mybatis/
        │   └── mybatis-config.xml      # MyBatis配置
        ├── i18n/
        │   └── messages.properties      # 国际化资源
        └── banner.txt                   # 启动Banner

快速开始

1. 编译项目

cd backend
mvn clean install

2. 启动应用

cd lingyue-starter
mvn spring-boot:run

或者直接运行jar包:

java -jar lingyue-starter.jar

3. 访问应用

配置说明

应用配置

application.yml 中配置:

app:
  name: 灵越智报
  version: 2.0.0
  uploadBaseDir: /tmp/lingyue-zhibao

数据库配置

spring:
  datasource:
    druid:
      url: jdbc:postgresql://localhost:5432/lingyue_zhibao
      username: postgres
      password: postgres

API文档配置

开发环境默认启用API文档,生产环境自动禁用:

springdoc:
  api-docs:
    enabled: true  # dev环境启用,prod环境禁用

环境配置

开发环境

使用 application-dev.yml,包含本地开发配置。

生产环境

使用 application-prod.yml,通过环境变量配置:

export DB_USERNAME=postgres
export DB_PASSWORD=your_password
export JWT_SECRET=your_jwt_secret
export REDIS_HOST=localhost
export REDIS_PORT=6379

API分组

API文档按服务分组:

  • auth-api: 认证服务 API
  • document-api: 文档管理 API
  • parse-api: 解析服务 API
  • ai-api: AI处理服务 API
  • graph-api: 关系网络服务 API

注意事项

  1. 服务发现: 单体应用默认禁用Nacos服务发现(spring.cloud.nacos.discovery.enabled: false
  2. 端口: 默认端口8000,可在配置文件中修改
  3. 数据库: 确保PostgreSQL数据库已创建并执行初始化脚本
  4. Redis: 确保Redis服务已启动
  5. RabbitMQ: 确保RabbitMQ服务已启动(如使用消息队列功能)

与微服务架构的区别

特性 微服务架构 单体应用(Starter)
部署方式 多个独立服务 单个应用
服务发现 需要Nacos 不需要
API网关 需要Gateway 不需要
配置管理 分散在各服务 统一配置
适用场景 大型项目、分布式 中小型项目、快速开发

开发建议

  1. 开发阶段: 使用 lingyue-starter 快速开发和调试
  2. 生产环境: 根据实际需求选择单体应用或微服务架构
  3. 迁移: 可以轻松从单体应用迁移到微服务架构(代码无需修改)