跳至主要內容

API开放平台项目

sixkey大约 6 分钟项目文档项目

API开放平台项目

大家好,这里是文学编程分享,历经两周多的开发,为大家带来了一套有足够亮点的分布式微服务项目,我在这里对该项目做一个简单的总结,希望能被更多的同学看到,不再担心实习面试没有项目可言,希望同学们能把它变成自己的项目经验~

API开放平台项目已完结!!!

happy

用户端在线体验(加载较慢,耐心等待)

电脑端: https://6b897075.r22.cpolar.topopen in new window

可以直接注册账号体验,或者使用以下账号:用户名:swx; 密码:123456

项目简介

这次开发的项目是API开放平台,提供多样化的API接口调用服务,其功能与主流云服务提供商的API平台相仿。该项目构建于后端Springboot 2.7.5版本及前端Vue 3.0+版本之上(前后端从零开发),形成了一个全栈开发架构(分布式微服务项目),此外还能使用客户端SDK轻松在代码中调用接口。

系统架构

image-20240519140106085

功能展示

登录首页

screenshot-1716098836350

管理员后台

管理员主页

screenshot-1716099098710
screenshot-1716099098710

接口列表页

screenshot-1716099162594
screenshot-1716099162594

SDK下载

screenshot-1716099323969
screenshot-1716099323969

额度充值

screenshot-1716099237789
screenshot-1716099237789

以上列举管理员后台部分功能展示。

用户后台(开发者)

开发者主页

screenshot-1716099576841
screenshot-1716099576841

应用管理页

screenshot-1716099623236
screenshot-1716099623236

在线调用接口

screenshot-1716099795821
screenshot-1716099795821

流量详情页

screenshot-1716099841405
screenshot-1716099841405

以上列举开发者后台部分功能展示。

项目新颖

为什么开发API开放平台项目?第一点就是项目足够新颖,这类项目不同于其他管理系统以及商城项目,API开放平台项目通常是一些像主流云服务提供商才会开发维护的,经调研发现类似API开放平台项目的开发少得可怜,更不要说是有现成的教程和文章了。

此外,这个项目是一个分布式微服务项目,里面涉及多个系统的交互,包含API签名认证、gateway网关、openFeign远程过程调用、分布式等等很多的必学技术知识,很适合后端同学开拓眼界、提升系统设计和系统架构的能力,这些在没有任何教程的情况下是很难得到磨练的。

screenshot-1716100567818

本项目适合人群

本项目整体更侧重于后端,如果大家是学过后端开发技术(SpringBoot),不想再每天写crud,想开发一个更大、更全面的,并且是区别于传统管理系统、有更多技术亮点的、写在简历上加分的项目,尤其是想快速提升自己的编程和系统架构设计能力的,那么这个项目无疑是最适合你的,赶紧动手学习吧!

除后端同学外,如果你是前端,也可以通过这个API开放平台项目学习到如何快速开发前端项目的技巧,因为项目是从零开发,所以不管是前端还是后端同学都可以学到很多自己以前不具备的技术,学习这个项目之前最好还是学习过Vue或者React框架…

除了以上两种人员,这个项目也特别适合于找实习的同学,苦恼自己没有一个分布式微服务项目的同学,赶紧学习起来让自己的简历更具有亮点吧!

技术选型

再介绍一下API开放项目所用到的技术,全都是主流技术~

前端

  • Vue 3.4.2
  • Element-plus 2.7.0 框架
  • Echarts 5.5.0
  • 3D three.js 动画库
  • Axios
  • Pinia

后端

  • Java Spring Boot
  • MySQL数据库
  • Mybatis-Plus
  • API签名认证(Http调用)
  • Spring Boot Starter(SDK开发)
  • 自定义Spring Boot Starter SDK上传到Maven仓库
  • Spring Cloud Gateway(微服务网关)
  • Spring Cloud OpenFeign(远程过程调用)
  • Spring Cloud Alibaba Nacos (注册中心)
  • Swagger + Knife4j 接口文档生成
  • Hutool、Apache Common Utils、fastjson2等工具库

项目周期

列举一下项目每一期开发的功能点,总共有十一期~

第一期

  • 需求分析
  • 业务流程和子系统介绍
  • 技术选型
  • 项目搭建
  • 数据库表设计

第二期

  • 接口管理模块开发
  • 模拟接口开发
  • API签名认证(初步)

第三期

  • 自定义Spring-boot-starter SDK工具开发

第四期

  • 应用管理模块开发
  • 整合Gateway网关和Openfeign 远程过程调用

第五期

  • 基于Java反射机制实现动态发布接口
  • 下线接口

第六期

  • 在线调用接口测试
  • 在线调用接口
  • 网关鉴权
  • 网关业务处理

第七期

  • 配额设置
  • 额度充值
  • 订单列表

第八期

  • 后台主页搭建
  • 用户注册和登录
  • 个人中心
  • 流量详情

第九期

  • 完善权限管理模块
  • 完善管理员主页

第十期

  • 优化
  • 前端
    • UI优化
    • 布局优化
    • 统一样式
    • 交互优化
  • 后端
    • 统一日志记录
    • 访问控制(白名单处理)
  • 扩展功能
    • 统计接口调用耗时情况(可通过网关过滤器实现)
    • 统一接口保护
    • 集成sentinel实现接口限流
    • 集成Micrometer+ ZipKin分布式链路追踪(Sleuth)

第十一期

  • SDK上传到Maven仓库
  • 项目部署

项目收获

  • 不用害怕没有完美的实习和面试项目而苦恼,为你的实习项目添加亮点。
  • 带你了解并巩固做分布式微服务项目的完整流程、能够独立开发及上线项目。
  • 学习最新版本前后端开发脚手架的使用,掌握快速生成代码,前后端联调的方法,提高项目开发效率。
  • 跳出传统的CRUD管理系统项目,学习企业级第三方平台的架构设计和开发。
  • 学习客户端SDK、API签名认证、API网关、OpenFeign分布式等后端知识和编程技巧。
  • 所有BUG都有文档记录为你解决,带你提升自主解决问题的能力。

💨项目资料

添加微信:sixkey159358获取源码。

后续还会给大家带来更多优质的项目以及编程技术,持续关注文学编程分享~