一个丰富的API开放调用平台,为开发者提供便捷、实用、安全的API调用体验
Java + React 全栈项目,包括网站前台+后台,感谢程序猿鱼皮提供的项目基础框架,我也是在此基础上作拓展
在线体验地址:主页 - Panda-API
- 首页
- 接口支付
- 接口管理
- 接口分析
- 用户管理
- 个人中心
本人在实习过程中发现公司有调用第三方接口的业务,并且我在学习过程中也有调用第三方接口的尝试,比如手机短信接口,视频点播接口,支付接口等等,一直好奇第三方接口的服务提供方是如何实现安全,方便,快捷的接口的调用体验,遂萌生了一个自己写一个接口平台的想法,于是该项目诞生了
Chen API 平台根据接口定制化SDK,给用户提供简洁、实用的接口调用体验,并且使用API签名校验保障接口调用的安全性
- 开发框架:React、Umi
- 脚手架:Ant Design Pro
- 组件库:Ant Design、Ant Design Components
- 语法扩展:TypeScript、Less
- 打包工具:Webpack
- 代码规范:ESLint、StyleLint、Prettier
- 主语言:Java
- 框架:SpringBoot 2.7.0、Mybatis-plus、Spring Cloud
- 数据库:Mysql8.0、Redis
- 中间件:RabbitMq
- 注册中心:Nacos
- 服务调用:Dubbo
- 网关:Spring Cloud Gateway
- 负载均衡:Spring cloud Loadbalancer
- api-frontend :为项目前端,前端项目启动具体看readme.md文档
- api-common :为公共封装类(如公共实体、公共常量,统一响应实体,统一异常处理)
- api-backend :为接口管理平台,主要包括用户、接口相关的功能
- api-gateway :为网关服务,涉及到网关限流,统一鉴权,统一日志处理,接口统计
- api-order :为订单服务,主要涉及到接口的购买等
- api-third-party:为第三方服务,主要涉及到腾讯云短信、支付宝沙箱支付功能
- api-interface:为接口服务,提供可供调用的接口
- api-sdk:提供给开发者的SDK
🌟 亮点功能 🚀 未来计划
- 用户、管理员
- 登录注册
- 个人主页
- 设置个人信息
- 管理员:用户管理
- 管理员:接口管理
- 管理员:接口分析、订单分析
- 接口
- 浏览接口信息
- 🌟 数字签名校验接口调用权限
- 🌟 SDK调用接口
- 接口搜索
- 购买接口
- 下载SDK
- 用户上传自己的接口(🚀)
- 订单
- 创建订单
- 订单超时回滚
- 支付宝沙箱支付
- 将各模块配置修改成你自己本地的端口、账号、密码
- 启动Nacos、Mysql、Redis、RabbitMq
- 将公共服务 api-common 以及客户端 SDK 安装到本地仓库
- 按顺序启动服务
服务启动顺序参考:
- api-backend
- api-interface
- api-order
- api-third-party
- api-gateway
环境要求:Node.js >= 16
安装依赖:
yarn
启动:
npm run start:dev
注意:如果想要体验订单和支付业务并且没有个人云服务器的,需要配置内网穿透才能体验(非必要)
项目需要大家的支持,期待更多小伙伴的贡献,你可以:
- 对于项目中的Bug和建议,能够在Issues区提出建议,我会积极响应