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文档:
- Knife4j UI: http://localhost:8080/api/doc.html
- OpenAPI JSON: http://localhost:8080/api/v3/api-docs
项目结构
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+张数据表,主要模块包括:
- 核心模块 - 公司、用户、权限、订阅
- AI功能模块 - 文章生成、落地页生成、网站生成
- 内容管理模块 - 关键词、话题、文章、页面
- 发布系统模块 - 平台配置、发布任务、发布记录
- 统计分析模块 - 使用统计、活动日志
开发规范
- 使用Lombok简化实体类代码
- 遵循RESTful API设计规范
- 使用JPA注解进行ORM映射
- 采用分层架构设计(Controller-Service-Repository)
- 统一异常处理和响应格式
模块迁移计划
当前项目正在从扁平化结构迁移到模块化结构,迁移计划如下:
-
已完成:
- 创建模块化目录结构
- 创建DTO类
- 创建枚举类
-
进行中:
- 迁移Controller类到对应模块
- 迁移Entity类到对应模块
- 迁移Repository类到对应模块
- 迁移Service类到对应模块
-
待完成:
- 实现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来改进项目。
许可证
本项目仅供学习和参考使用。