Luluy233 / flora-thumb

FloraThumb, a simple application for plant identification, search, and flower language proverb viewing (personal project of Microservice, Tongji University, 2023 Fall)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

flora-thumb

一、系统设计

1.1系统功能设计

在当今数字时代,人们对于自然和植物的热情与日俱增,为了满足人们对植物基本信息、养护技巧等知识的需求,将提供一个具备先进图像识别技术的应用,允许用户通过上传图片来识别植物,并深入获取关于植物的详细信息,致力于为植物爱好者和自然爱好者提供一个独特而精致的工具,使他们能够更深入地探索、理解和欣赏自然界的奇妙之美。

本系统主要功能分为三个部分:植物识别、植物搜索和植物信息查看,全局用例图如图1-1所示:

img

​ 图 1-1 系统用例图

1.1.1植物识别功能

植物识别功能是本系统的和信心功能,用户可以通过网站界面上传植物的图片,使用图像识别技术,分析图像并提供植物的名称、种类及识别可信度。

1.1.2植物搜索功能

用户可以使用搜索功能来查找特定植物的信息,包括植物相关图片、植物科属、植物分布、植物不同国家常用名等信息。

1.1.3植物信息查看功能

用户可以查看所识别植物的具体描述、养护技巧、分布地区、花语箴言等相关信息。

1.2系统架构设计

本系统采用B/S 的客户端-服务器端分层架构设计,整个系统架构分为客户端、服务器端两部分,如图1-2所示,用户发起请求,通过web客户端将请求发送到服务器端,服务器作出相应并返回响应数据。其中服务器端的实现主要通过集成Web API来实现,包括Trefle提供的植物搜索服务、百度提供的领域翻译服务、阿里云提供的植物识别服务和天行数据提供的花语箴言服务。

img

​ 图1-2 系统架构图

客户端如图1-3所示,可细分为应用层、业务层和控制层:

(1)应用层:主要用于浏览器端可视化界面的展示和交互,应用层接收用户的操作行为,然后传递给业务层进行处理。

(2)业务层:主要用于接受用户在应用层的操作,然后选择相应的视图布局进行可视化绘制,主要包括植物识别、植物查看、植物搜索、箴言获取4个核心业务。如果数据源发生变更,则向下请求控制层。

(3)控制层:主要进行与服务器端的数据源交互操作,其中包括向服务器端请求数据和接收数据。

img

​ 图 1-3 客户端架构图

二、系统实现

2.1 系统开发和运行环境

在本项目开发过程中,主要使用的工具和环境如下:

(1)编辑器是Visual Studio Code v1.83;

(2)代码调试环境是Google Chrome v118.0.5993.89浏览器的开发者模式;

(3)前端开发语言是JavaScript;

(4)使用的前端框架是Vue v3.2.13;

(5)前端API测试工具是Apifox;

(6)Web API测试工具是Postman;

(7)云服务器使用ubuntu v22.04;

在客户端的开发中,vue主要使用的依赖项如下:

(1)axios v1.5.1

(2)core-js v3.8.3

(3)element-plus v2.4.0

(4)vue-router v4.2.5

2.2 系统功能模块实现

2.2.1 植物识别模块

用户可以通过应用界面“+”号上传需要识别的植物图片,如图3-1。此功能主要调取阿里云提供的植物图像识别API。

img

图 3-1

识别成功后可以查看结果,结果将按照相似度进行排序,显示识别出的植物图片、植物科、属及识别相似度,如图3-2。

img

图 3-2

2.2.2 植物信息查看模块

获取识别结果后,用户可点击对应植物的卡片跳转到植物详情页查看植物具体信息,如图3-3、图3-4,此功能主要调取阿里云提供的植物信息获取API。

img

																										图 3-3

img

​ 图 3-4

2.2.3 植物搜索模块

用户可在顶部导航栏的搜索框中输入想要查看的植物名称,将显示搜索到的植物信息,如图3-5所示;若希望了解更多结果信息,可以点击结果卡片,跳转到详情页,查看植物科属、不同地区名称、分布及花、叶、果等图片,如图3-6、3-7所示。此功能主要调取Trefle组织提供的植物搜索和信息获取API。

img

​ 图 3-5

img

​ 图 3-6

img

​ 图 3-7

2.2.4 箴言获取模块

用户进入花语箴言板块,输入植物名称,查看植物对应的箴言,如图3-8,此功能主要调取天行数据提供的花语箴言获取API。

img

2.3 系统接口实现

​ 该系统使用的接口链接如下:

  1. 植物识别

    https://market.aliyun.com/products/57124001/cmapi018620.html#sku=yuncode1262000007

  2. 植物搜索

    https://docs.trefle.io/

  3. 花语箴言获取

    https://www.tianapi.com/apiview/238

  4. 百度翻译

    https://fanyi-api.baidu.com/product/113

三、到期说明

  1. 服务器到期时间:2024.1.24
  2. 植物识别接口到期时间:2023.11.15
  3. 花语箴言:每日限请求100次
  4. 百度翻译:每月限请求100万字符

About

FloraThumb, a simple application for plant identification, search, and flower language proverb viewing (personal project of Microservice, Tongji University, 2023 Fall)


Languages

Language:Vue 78.0%Language:JavaScript 21.1%Language:HTML 0.9%