README.md 5.2 KB

AIGEO - AI内容生成平台

AIGEO是一个基于人工智能技术的内容生成平台,旨在帮助企业用户高效生成各种类型的内容,包括文章、落地页和网站。

功能特性

  • AI文章生成 - 基于关键词和主题自动生成高质量文章
  • AI落地页生成 - 根据业务需求自动生成营销落地页
  • AI网站生成 - 一键生成企业官网或电商网站
  • 多租户架构 - 支持多企业用户独立使用
  • 权限管理 - 完善的用户角色和权限控制
  • 订阅计费 - 灵活的订阅计划和计费系统
  • 内容发布 - 支持将生成内容发布到多种平台
  • SEO优化 - 自动生成SEO友好的内容结构

技术栈

  • 后端: Spring Boot 3.3.3
  • 数据库: MySQL 8.0
  • ORM框架: JPA/Hibernate
  • 安全框架: Spring Security + JWT
  • 缓存: Redis
  • API文档: Knife4j (OpenAPI 3)
  • 任务调度: Quartz
  • 构建工具: Maven
  • 其他: Lombok, Hutool, FastJSON2

系统要求

  • JDK 17+
  • MySQL 8.0+
  • Redis
  • Maven 3.8+

快速开始

1. 克隆项目

git clone <repository-url>
cd aigeo

2. 数据库配置

src/main/resources/application.yml 中配置数据库连接:

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/aigeo?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai
    username: root
    password: your_password

3. Redis配置

src/main/resources/application.yml 中配置Redis连接:

spring:
  data:
    redis:
      host: localhost
      port: 6379

4. 构建和运行

# 构建项目
mvn clean package

# 运行项目
mvn spring-boot:run

# 或者运行打包后的JAR文件
java -jar target/aigeo-1.0.0.jar

API文档

项目启动后,访问以下地址查看API文档:

项目结构

src/main/java/com/aigeo
├── AigeoApplication.java      # 应用启动类
├── ai/                        # AI配置模块
│   ├── controller/
│   ├── dto/
│   ├── entity/
│   ├── repository/
│   └── service/
├── article/                   # AI文章生成模块
│   ├── controller/
│   ├── dto/
│   ├── entity/
│   ├── repository/
│   └── service/
├── auth/                      # 认证模块
│   └── dto/
├── common/                    # 公共组件
│   ├── enums/                 # 枚举类
│   ├── exception/             # 异常处理
│   └── config/                # 配置类
├── company/                   # 公司与用户模块
│   ├── controller/
│   ├── dto/
│   ├── entity/
│   ├── repository/
│   └── service/
├── config/                    # 配置类
├── controller/                # 控制器层(旧结构,待迁移)
├── entity/                    # 实体类(旧结构,待迁移)
├── exception/                 # 异常处理
├── landingpage/               # 落地页生成模块
│   ├── controller/
│   ├── dto/
│   ├── entity/
│   ├── repository/
│   └── service/
├── repository/                # 数据访问层(旧结构,待迁移)
├── service/                   # 业务逻辑层(旧结构,待迁移)
├── util/                      # 工具类
└── website/                   # 网站构建模块(待实现)

src/main/resources/
├── application.yml            # 应用配置
├── schema.sql                 # 数据库表结构
├── data.sql                   # 初始化数据

数据库设计

系统包含100+张数据表,主要模块包括:

  1. 核心模块 - 公司、用户、权限、订阅
  2. AI功能模块 - 文章生成、落地页生成、网站生成
  3. 内容管理模块 - 关键词、话题、文章、页面
  4. 发布系统模块 - 平台配置、发布任务、发布记录
  5. 统计分析模块 - 使用统计、活动日志

开发规范

  • 使用Lombok简化实体类代码
  • 遵循RESTful API设计规范
  • 使用JPA注解进行ORM映射
  • 采用分层架构设计(Controller-Service-Repository)
  • 统一异常处理和响应格式

模块迁移计划

当前项目正在从扁平化结构迁移到模块化结构,迁移计划如下:

  1. 已完成

    • 创建模块化目录结构
    • 创建DTO类
    • 创建枚举类
  2. 进行中

    • 迁移Controller类到对应模块
    • 迁移Entity类到对应模块
    • 迁移Repository类到对应模块
    • 迁移Service类到对应模块
  3. 待完成

    • 实现website模块
    • 完善各模块间的交互
    • 添加单元测试

部署

生产环境部署

# 构建生产包
mvn clean package -Pprod

# 运行
java -jar target/aigeo-1.0.0.jar --spring.profiles.active=prod

Docker部署(可选)

# 构建Docker镜像
docker build -t aigeo:latest .

# 运行容器
docker run -d -p 8080:8080 aigeo:latest

贡献

欢迎提交Issue和Pull Request来改进项目。

许可证

本项目仅供学习和参考使用。