https://github.com/which0113/freefish-api
本项目基于 React + Spring Boot + Dubbo + AIGC,致力于为用户和开发者提供全面 API 接口调用和 AI 数据分析服务。
https://github.com/which0113/freefish-api
docker dubbo openai rabbitmq redis springboot
Last synced: about 1 year ago
JSON representation
本项目基于 React + Spring Boot + Dubbo + AIGC,致力于为用户和开发者提供全面 API 接口调用和 AI 数据分析服务。
- Host: GitHub
- URL: https://github.com/which0113/freefish-api
- Owner: which0113
- Created: 2023-12-26T12:28:12.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-08-07T12:46:01.000Z (almost 2 years ago)
- Last Synced: 2024-08-07T15:27:43.399Z (almost 2 years ago)
- Topics: docker, dubbo, openai, rabbitmq, redis, springboot
- Language: Java
- Homepage: https://www.freefish.love
- Size: 3.48 MB
- Stars: 29
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
咸鱼-API 接口开放平台
咸鱼-API 接口开放平台是一个为用户和开发者提供全面API接口调用服务的平台 🛠
## 项目介绍
😀 作为用户您可以通过注册登录账户,获取接口调用权限,并根据自己的需求浏览和下载适合的接口。您可以在线进行接口调试,快速验证接口的功能和效果。
💻 作为开发者,我们提供了[咸鱼-API SDK](https://github.com/which0113/api-sdk),
通过[开发者凭证](https://www.freefish.love/account/center)即可将轻松集成接口到您的项目中,实现更高效的开发和调用。
🤝 您可以将自己的接口接入到 **_咸鱼-API_** 接口开放平台平台上,并发布给其他用户使用。
您可以管理和各个接口,以便更好地分析和优化接口性能。
🔎 您只需要导入最原始的数据集,输入需要分析的目标,就能利用[AI智能生成](https://www.freefish.love/analyse)
一个可下载的数据分析图表和分析结论。
🏁 无论您是用户还是开发者,**_咸鱼-API_**
咸鱼-API 接口开放平台都致力于提供稳定、安全、高效的接口调用和数据分析服务,帮助您实现更高效、便捷化的开发和调用体验。
## 网站导航
- [项目在线演示地址 🔗](https://www.freefish.love)
- 演示账号:demo
- 密码:12345678
- [项目前端地址 🔗](https://github.com/which0113/api-frontend)
- [项目后端地址 🔗](https://github.com/which0113/freefish-api)
## 使用指导
### 克隆项目到本地
```bash
git clone git@github.com:which0113/freefish-api.git
```
### 运行后端
#### 注意事项
- JDK 版本为 1.8
- MySQL 版本为 8.0+
- Maven 版本为 3.9+
- Redis 版本为 5.0+
- RabbitMQ 版本为 3.9+
- Nacos 版本为 2.3+
#### 其他
- [application-dev.yml](api-main%2Fsrc%2Fmain%2Fresources%2Fapplication-dev.yml) 配置文件可修改服务启动端口、MySQL、Redis
配置等等
- [ddl.sql](sql%2Fddl.sql) 文件是 MySQL 数据库文件,可 **Ctrl A 全选 + Ctrl Enter 执行** 快速初始化数据库
#### 运行
准备项目启动所需的服务
```
MySQL 数据库
Redis 缓存中间件
RabbitMQ 消息队列
Nacos 注册中心
```
分别修改 api-gateway 和 api-main 模块的 application-dev.yml 配置文件
```
# 必须修改,否则不能运行 oss 服务
# 对象存储 oss,请参考官方文档
alibaba:
cloud:
oss:
endpoint: your_oss_serve_url
access-key: xxx
secret-key: xxx
# 必须修改至少一个,否则不能运行 AI 服务
# AI 服务,请参考官方文档
# 鱼聪明AI
yuapi:
client:
access-key: xxx
secret-key: xxx
# OpenAI
open-ai-client:
api-key: "sk-xxx"
api-host: https://代理地址
```
启动项目的3个子服务
```
api-gateway 网关服务
api-interface 接口服务
api-main 核心服务
```
## 项目展示
### 首页

### 接口广场
#### 接口展示

#### 接口详情

##### API文档

##### 错误码

##### 示例代码

##### 在线调试

### 智能分析

### 我的图表
#### 图表展示

#### 图表下载

### 用户功能
#### 登录

#### 注册

#### 个人中心

### 管理员功能
#### 接口管理

#### 图表管理

#### 用户管理

## 技术栈
- Spring Boot 2.7+
- Spring MVC
- MySQL 数据库
- WebSocket 异步通知
- EasyExcel 处理工具
- Dubbo 分布式(RPC、Nacos)
- RabbitMQ 消息队列
- Spring Cloud Gateway 微服务网关
- API 签名认证(Http 调用)
- Spring Boot Starter(SDK 开发)
- Swagger + Knife4j 接口文档
- ThreadLocal Redis(Token 权限校验和续签)
- Redisson 分布式限流
- Apache Commons Lang3 工具类
- MyBatis-Plus 及 MyBatis X 自动生成
- Hutool、Apache Common Utils、Gson 等工具库