springboot居家健身锻炼APP -计算机毕业设计源码94928

摘  要

本文旨在设计并实现一款基于Spring Boot的居家健身锻炼APP,以满足现代人对便捷、高效健身方式的需求。该APP利用Spring Boot框架的轻量级和易扩展性,结合MySQL数据库和Tomcat服务,构建了一个稳定、安全的后端服务,为用户提供个性化的健身计划、健身课程以及丰富的健身资讯。在研究中,我们深入分析了市场需求和用户行为,设计了易于使用的界面和交互方式,优化了用户体验。此外,我们还关注了数据安全和隐私保护,采取了多种措施确保用户信息的安全。该APP的推出不仅有助于推动大众健身运动的普及和发展,还能提升用户的生活质量,促进健康生活方式的形成。因此,本研究具有重要的现实意义和应用价值。

关键词:居家健身锻炼APP;Java;MySQL;springboot

Abstract

This article aims to design and implement a home fitness and exercise app based on Spring Boot to meet the needs of modern people for convenient and efficient fitness methods. This app utilizes the lightweight and scalability of the Spring Boot framework, combined with MySQL database and Tomcat services, to build a stable and secure backend service, providing users with personalized fitness plans, courses, and rich fitness information. In our research, we conducted in-depth analysis of market demand and user behavior, designed user-friendly interfaces and interaction methods, and optimized the user experience. In addition, we have also focused on data security and privacy protection, and taken various measures to ensure the security of user information. The launch of this app not only helps to promote the popularization and development of mass fitness, but also improves the quality of life for users and promotes the formation of healthy lifestyles. Therefore, this study has important practical significance and application value.

Keywords: Home fitness exercise app; Java; MySQL; Springboot

目  录

摘  要

目  录

1 引言

1.1 选题背景

1.2 研究意义

1.3论文结构与章节安排

2 系统需求分析

2.1可行性分析

2.1.1 技术可行性分析

2.1.4操作可行性分析

2.1.2 经济可行性分析

2.1.3 社会可行性分析

2.2功能需求分析

2.3用例分析

2.4系统流程分析

2.4.1增加数据流程

2.4.2修改数据流程

2.4.3删除数据流程

3系统总体设计

3.1 系统开发架构的选择

3.1系统功能模块设计

3.1.1 前台页面设计

3.1.2 普通用户模块设计

3.1.3 健身资讯模块设计

3.1.4健身课程模块设计

3.2数据库设计

3.2.1数据库概要设计

3.2.2数据库逻辑设计

4系统详细实现

4.1普通用户功能实现

4.1.1普通用户功能实现

4.1.2普通用户注册功能实现

4.1.3 登录功能实现

4.1.4用户数据功能实现

4.1.5健身资讯功能实现

4.1.6健身课程功能实现

4.2管理员功能实现

4.2.1管理员登录功能实现

4.2.2系统用户功能实现

4.2.3健身课程管理功能实现

4.2.4课程类型管理功能实现

4.2.5课程等级管理功能实现

5系统测试

5.1 系统测试目的

5.2 系统可用性测试

5.3 系统典型测试用例

5.4 测试总结

总结

参考文献

致  谢

1 引言

1.1 选题背景

随着现代生活节奏的加快,越来越多的人开始关注自身的健康状况和身体素质。同时,由于疫情等因素的影响,居家健身逐渐成为了一种趋势和新的生活方式。人们更加倾向于在家中进行健身锻炼,这既符合了当前社会的健康需求,也满足了人们追求便捷、高效的生活方式。移动互联网技术的快速发展为居家健身锻炼APP的兴起提供了有力支持。智能手机、平板电脑等移动设备的普及,使得人们可以随时随地通过手机APP进行健身锻炼。同时,各种先进技术的运用,如AI、大数据等,也使得APP能够更好地满足用户的个性化需求,提供更为精准、科学的健身指导。Spring Boot作为一种轻量级的Java框架,具有简化配置、快速开发等特点,非常适合用于构建健身锻炼APP的后端服务。通过使用Spring Boot,开发者可以更加专注于业务逻辑的实现,而无需花费过多时间在繁琐的配置和部署上。居家健身锻炼APP的设计与实现还需要考虑到用户体验、安全性、稳定性等多方面因素。例如,如何设计易于使用的界面、如何保障用户数据的安全、如何确保APP的稳定运行等,都是设计与实现过程中需要重点考虑的问题,对于促进人们健康生活方式的形成和推动健身行业的发展具有重要意义。

1.2 研究意义

从健康促进的角度来看,该APP的设计与实现有助于推动大众健身运动的普及和发展。通过提供便捷、个性化的健身服务,鼓励更多人在家中进行锻炼,从而提高国民的整体健康水平,减少因缺乏运动而导致的健康问题。

从技术创新的角度来看,该APP的研究有助于推动移动互联网、大数据、人工智能等先进技术在健身领域的应用。通过整合这些技术,可以实现更为精准的用户画像构建、健身计划制定和效果评估,提升用户体验和健身效果。

从产业发展的角度来看,该APP的研究有助于推动健身产业的数字化转型和升级。通过构建智能化的健身服务平台,可以优化资源配置,提高服务效率,促进健身产业的可持续发展。

该研究还具有一定的社会价值。在当前社会背景下,越来越多的人面临着工作压力和生活节奏加快的问题,缺乏足够的时间和精力去健身房进行锻炼。而居家健身锻炼APP的出现,正好满足了这部分人群的需求,有助于缓解他们的身心压力,提升生活质量。

从学术研究的角度来看,该研究有助于丰富和完善健身锻炼APP设计与实现的理论体系和实践经验。通过深入探讨用户需求、技术选型、系统设计等方面的问题,可以为后续相关研究提供有益的参考和借鉴。

综上所述,基于Spring Boot的居家健身锻炼APP的设计与实现具有重要的研究意义,不仅有助于推动大众健身运动的普及和发展,还有助于促进技术创新和产业发展,提升人们的生活质量和健康水平。

1.3论文结构与章节安排

本文共分为六章,章节内容安排如下:

第一章:引言。第一章主要介绍了课题研究的背景与意义以及技术和本文的研究内容与主要工作。

第二章:系统需求分析。第二章主要从系统的可行性、功能等方面进行需求分析。

第三章:系统总体设计。第三章主要对系统功能模块、数据库进行功能设计。

第四章:系统详细设计。第四章主要介绍了系统各个普通用户的功能、系统界面的实现。

第五章:系统测试。第五章主要对系统的部分界面进行测试并对主要功能进行测试。

2 系统需求分析

2.1可行性分析

基于Spring Boot框架的居家健身锻炼APP设计与开发的可行性分析,可以从以下几个方面进行考量:

2.1.1 技术可行性分析

Spring Boot框架以其快速开发、简化配置、智能化管理等特点,非常适合用于构建这样的健身锻炼APP。它提供了丰富的自动化配置和约定大于配置的方式,使得开发者可以专注于业务逻辑的开发,而无需过多关注底层技术实现。此外,Spring Boot还具有极佳的兼容性和可扩展性,可以与现有的技术和系统进行集成,同时也支持未来的扩展和增强。

2.1.4操作可行性分析

随着健康意识的提高和移动互联网的普及,居家健身已经成为了一种趋势。市场调研数据也显示,运动健身APP的用户群体在不断扩大,且用户对于健身APP的功能和服务需求也在不断增加。因此,设计和实现一个基于Spring Boot的居家健身锻炼APP,具有广阔的市场前景和潜在的用户群体。

2.1.2 经济可行性分析

考虑到成本和收益,使用Spring Boot进行APP的开发可以降低开发成本,提高开发效率。同时,由于市场需求旺盛,该APP有可能实现快速的用户增长和盈利。此外,通过提供个性化的健身计划、专业的健身指导等服务,还可以增加用户的黏性和付费意愿,进一步提升经济效益。

2.1.3 社会可行性分析

该APP的推出符合当前社会对于健康生活方式的倡导,有助于推动大众健身运动的普及和发展。同时,通过提供便捷、个性化的健身服务,也可以帮助用户改善身体状况,提高生活质量。因此,从社会角度来看,该APP的设计和实现也是可行的。

2.2功能需求分析

居家健身锻炼APP的主要目的分为三个。

首先:可以通过该APP可以很好的居家健身锻炼管理。以前通过传统的健身锻炼方式有个最大的问题就是流程繁琐,而且各种信息容易丢失,有了这样一个居家健身锻炼APP,那么则可以很容易的把居家健身锻炼信息都放到数据库中,如果再对数据库进行备份处理,那么这样就可以很好的对健身信息进行保存。

该APP需要很好的功能扩充性和可维护性。由于该APP是涉及的普通用户比较多,对管理员来说同样也是一个信息管理APP,包括普通用户信息,居家健身锻炼信息,工作评价信息等。而且,随着普通用户数量的增加,必然对程序的更新迭代要求更高,所有在开发的时候就需要注意程序的可维护性和可拓展性。

2.3用例分析

图2-1管理员角色用例图

图2-2 普通用户角色用例图

图2-3 商家用户角色用例图

2.4系统流程分析

2.4.1增加数据流程

系统中的所有普通用户(管理员、普通用户、商家用户)都可以实现增加数据功能,所谓的增加、修改、删除数据,图2.5显示的就是在增加数据时的流程。

图2.4增加数据流程图

2.4.2修改数据流程

人无完人,每个人都有出错的时候,在录入系统信息的时候如果信息有错,可以对系统中的数据进行编辑。图2.5显示的就是修改数据的流程。

图2.5修改数据流程图

2.4.3删除数据流程

在系统中经常会出现一些过期的数据,那就可以直接删除这些数据,图2.6就是删除数据时的流程图。

图2.6删除数据流程图

3系统总体设计

3.1 系统开发架构的选择

如今随着web系统功能的不断完善,越来越多的项目选择web系统,同样居家健身锻炼APP也是通过浏览器来访问系统主页面的。Web系统与app相比(后者主要是C/S架构),可以通过浏览器来规避很多问题,依靠浏览器让项目的开发变得简单,不再担心项目的版本跟新带来的数据传输等一系列的问题。值得注意的是B/S架构的项目,浏览器与服务器的数据的交互是通过http协议进行的,同样,服务器与数据库的数据交互也是通过http协议,统一的格式让信息的交互更加的简便与快捷。下图是具体的b/s架构图:

图3-1 系统B/S结构

3.1系统功能模块设计

居家健身锻炼APP的整体架构确定以后,再来看居家健身锻炼APP的主要功能模块图。整体的功能模块包括前台和后台,前台只要实现了普通用户,主要的首页页面,包括首页、健身课程、健身资讯、用户数据、健身计划等页面。后台的模块主要实现了管理员用户,有系统用户、健身课程管理、通知公告管理、课程类型管理、用户数据管理、健身计划管理、课程等级管理、资源管理、系统管理等。确定了模块以后,再设计各个模块的功能特点,方便抽取出各个模块的公共部分来。

图3.1居家健身锻炼APP功能模块图

3.1.1 前台页面设计

本居家健身锻炼APP的前台页面所有的页面设计主要是上中下的结构,这样的好处是让所有的页面更加的整洁。主题的页面颜色采用淡色为主,为突出页面的美观。主页面上分为导航栏,导航栏的每个导航项目设计为一张jsp页面,除此之外,还有就是普通用户中心页面,后台管理的页面了。后台管理页面已简单的上下结构为主。

3.1.2 普通用户模块设计

(1)普通用户模块结构图

本APP的用户包括管理员和普通用户模块。两种普通用户模块的功能基本是相同的,普通用户模块比管理员多了一个注册功能,所以以普通用户模块的结构图为例进行分析,如下图:

图3.2普通用户模块结构图

(2)各个结构的具体业务逻辑

a.查询普通用户信息:设计最基础的查询功能,主要就是根据普通用户id查询普通用户信息。该功能主要体现在管理员用户信息查询和普通用户自己查询信息的时候。

b.修改普通用户信息:普通用户可以根据情况,对自己的基本信息进行修改,包括名字修改、密码修改、头像修改等操作。

c.增加普通用户:普通用户可以通过注册来获得账号

d.删除普通用户信息:管理员没有权利进行删除信息的删除,最多把普通用户加入到黑名单中,禁止普通用户进行登录操作。

3.1.3 健身资讯模块设计

(1)健身资讯模块结构图

居家健身锻炼APP需要存储普通用户的居家健身锻炼申请数据项,所以需要专门设计一个健身资讯管理模块,具体的结构图如下:

图3.3健身资讯模块结构图

(2)各个结构的具体业务逻辑

a.查询健身资讯:设计最基础的查询功能,主要就是根据普通用户id查询该普通用户下的所有健身资讯信息。

b.重置健身资讯:普通用户可以根据情况,重置健身资讯。

c.删除健身资讯:管理员进行删除健身资讯信息。

3.1.4健身课程模块设计

(1)健身课程模块结构图

居家健身锻炼APP是中需要存储不少健身课程信息,普通用户可以添加,修改,删除健身课程,管理员可以审核通过等,具体的结构图如下:

图3.4健身课程模块结构图

(2)各个结构的具体业务逻辑

a.添加健身课程:普通用户可以对健身课程进行添加。

b.修改健身课程:普通用户可以对健身课程进行修改。

c.删除健身课程:普通用户可以对健身课程进行删除。

d.审核健身课程:管理员可以搜索健身课程信息,进行健身课程审核。

3.2数据库设计

3.2.1数据库概要设计

居家健身锻炼APP根据上面的E-R实体图,就再找到实体与实体之间的关系来,制作总的E-R图,实体之间的关系一共有4种,也就是一对一,多对一,一对多和多对多,总的E-R图是设计数据库表格的依据,如下图是APP的总E-R图。

图3.5系统总体E-R图

3.2.2数据库逻辑设计

根据上面的E-R图,继而设计数据库表格,注意的是数据库表格遵从三范式标准,这样以后操作也会更加简单一些。

系统的各个数据库表如下。

表access_token (登陆访问时长)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

token_id

int

10

0

N

Y

临时访问牌ID

2

token

varchar

64

0

Y

N

临时访问牌

3

info

text

65535

0

Y

N

4

maxage

int

10

0

N

N

2

最大寿命:默认2小时

5

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

6

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

7

user_id

int

10

0

N

N

0

用户编号:

表article (文章:用于内容管理系统的文章)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

article_id

mediumint

8

0

N

Y

文章id:[0,8388607]

2

title

varchar

125

0

N

Y

标题:[0,125]用于文章和html的title标签中

3

type

varchar

64

0

N

N

0

文章分类:[0,1000]用来搜索指定类型的文章

4

hits

int

10

0

N

N

0

点击数:[0,1000000000]访问这篇文章的人次

5

praise_len

int

10

0

N

N

0

点赞数

6

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

7

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

8

source

varchar

255

0

Y

N

来源:[0,255]文章的出处

9

url

varchar

255

0

Y

N

来源地址:[0,255]用于跳转到发布该文章的网站

10

tag

varchar

255

0

Y

N

标签:[0,255]用于标注文章所属相关内容,多个标签用空格隔开

11

content

longtext

2147483647

0

Y

N

正文:文章的主体内容

12

img

varchar

255

0

Y

N

封面图

13

description

text

65535

0

Y

N

文章描述

表article_type (文章分类)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

type_id

smallint

5

0

N

Y

分类ID:[0,10000]

2

display

smallint

5

0

N

N

100

显示顺序:[0,1000]决定分类显示的先后顺序

3

name

varchar

16

0

N

N

分类名称:[2,16]

4

father_id

smallint

5

0

N

N

0

上级分类ID:[0,32767]

5

description

varchar

255

0

Y

N

描述:[0,255]描述该分类的作用

6

icon

text

65535

0

Y

N

分类图标:

7

url

varchar

255

0

Y

N

外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置

8

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表auth (用户权限管理)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

auth_id

int

10

0

N

Y

授权ID:

2

user_group

varchar

64

0

Y

N

用户组:

3

mod_name

varchar

64

0

Y

N

模块名:

4

table_name

varchar

64

0

Y

N

表名:

5

page_title

varchar

255

0

Y

N

页面标题:

6

path

varchar

255

0

Y

N

路由路径:

7

position

varchar

32

0

Y

N

位置:

8

mode

varchar

32

0

N

N

_blank

跳转方式:

9

add

tinyint

3

0

N

N

1

是否可增加:

10

del

tinyint

3

0

N

N

1

是否可删除:

11

set

tinyint

3

0

N

N

1

是否可修改:

12

get

tinyint

3

0

N

N

1

是否可查看:

13

field_add

text

65535

0

Y

N

添加字段:

14

field_set

text

65535

0

Y

N

修改字段:

15

field_get

text

65535

0

Y

N

查询字段:

16

table_nav_name

varchar

500

0

Y

N

跨表导航名称:

17

table_nav

varchar

500

0

Y

N

跨表导航:

18

option

text

65535

0

Y

N

配置:

19

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

20

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表collect (收藏)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

collect_id

int

10

0

N

Y

收藏ID:

2

user_id

int

10

0

N

N

0

收藏人ID:

3

source_table

varchar

255

0

Y

N

来源表:

4

source_field

varchar

255

0

Y

N

来源字段:

5

source_id

int

10

0

N

N

0

来源ID:

6

title

varchar

255

0

Y

N

标题:

7

img

varchar

255

0

Y

N

封面:

8

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表comment (评论)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

comment_id

int

10

0

N

Y

评论ID:

2

user_id

int

10

0

N

N

0

评论人ID:

3

reply_to_id

int

10

0

N

N

0

回复评论ID:空为0

4

content

longtext

2147483647

0

Y

N

内容:

5

nickname

varchar

255

0

Y

N

昵称:

6

avatar

varchar

255

0

Y

N

头像地址:[0,255]

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

9

source_table

varchar

255

0

Y

N

来源表:

10

source_field

varchar

255

0

Y

N

来源字段:

11

source_id

int

10

0

N

N

0

来源ID:

表course_level (课程等级)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

course_level_id

int

10

0

N

Y

课程等级ID

2

course_level

varchar

64

0

Y

N

课程等级

3

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表course_type (课程类型)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

course_type_id

int

10

0

N

Y

课程类型ID

2

course_type

varchar

64

0

Y

N

课程类型

3

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表fitness_courses (健身课程)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

fitness_courses_id

int

10

0

N

Y

健身课程ID

2

merchant_users

int

10

0

Y

N

0

商家用户

3

merchant_name

varchar

64

0

Y

N

商家名称

4

course_name

varchar

64

0

Y

N

课程名称

5

course_type

varchar

64

0

Y

N

课程类型

6

course_level

varchar

64

0

Y

N

课程等级

7

course_cover

varchar

255

0

Y

N

课程封面

8

course_video

varchar

255

0

Y

N

课程视频

9

dietary_planning

text

65535

0

Y

N

饮食规划

10

course_explanation

text

65535

0

Y

N

课程讲解

11

hits

int

10

0

N

N

0

点击数

12

praise_len

int

10

0

N

N

0

点赞数

13

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

14

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表fitness_plan (健身计划)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

fitness_plan_id

int

10

0

N

Y

健身计划ID

2

regular_users

int

10

0

Y

N

0

普通用户

3

user_name

varchar

64

0

Y

N

用户姓名

4

fitness_plan

text

65535

0

Y

N

健身计划

5

dietary_planning

text

65535

0

Y

N

饮食规划

6

remarks

text

65535

0

Y

N

备注信息

7

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表hits (用户点击)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

hits_id

int

10

0

N

Y

点赞ID:

2

user_id

int

10

0

N

N

0

点赞人:

3

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

表merchant_users (商家用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

merchant_users_id

int

10

0

N

Y

商家用户ID

2

merchant_name

varchar

64

0

Y

N

商家名称

3

contact_information

varchar

64

0

Y

N

联系方式

4

examine_state

varchar

16

0

N

N

未审核

审核状态

5

user_id

int

10

0

N

N

0

用户ID

6

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

7

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表notice (公告)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

notice_id

mediumint

8

0

N

Y

公告id:

2

title

varchar

125

0

N

N

标题:

3

content

longtext

2147483647

0

Y

N

正文:

4

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

5

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表praise (点赞)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

praise_id

int

10

0

N

Y

点赞ID:

2

user_id

int

10

0

N

N

0

点赞人:

3

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

8

status

bit

1

0

N

N

1

点赞状态:1为点赞,0已取消

表regular_users (普通用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

regular_users_id

int

10

0

N

Y

普通用户ID

2

user_name

varchar

64

0

Y

N

用户姓名

3

user_gender

varchar

64

0

Y

N

用户性别

4

contact_information

varchar

64

0

Y

N

联系方式

5

examine_state

varchar

16

0

N

N

已通过

审核状态

6

user_id

int

10

0

N

N

0

用户ID

7

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表slides (轮播图)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

slides_id

int

10

0

N

Y

轮播图ID:

2

title

varchar

64

0

Y

N

标题:

3

content

varchar

255

0

Y

N

内容:

4

url

varchar

255

0

Y

N

链接:

5

img

varchar

255

0

Y

N

轮播图:

6

hits

int

10

0

N

N

0

点击量:

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表upload (文件上传)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

upload_id

int

10

0

N

Y

上传ID

2

name

varchar

64

0

Y

N

文件名

3

path

varchar

255

0

Y

N

访问路径

4

file

varchar

255

0

Y

N

文件路径

5

display

varchar

255

0

Y

N

显示顺序

6

father_id

int

10

0

Y

N

0

父级ID

7

dir

varchar

255

0

Y

N

文件夹

8

type

varchar

32

0

Y

N

文件类型

表user (用户账户:用于保存用户登录信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

user_id

mediumint

8

0

N

Y

用户ID:[0,8388607]用户获取其他与用户相关的数据

2

state

smallint

5

0

N

N

1

账户状态:[0,10](1可用|2异常|3已冻结|4已注销)

3

user_group

varchar

32

0

Y

N

所在用户组:[0,32767]决定用户身份和权限

4

login_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

上次登录时间:

5

phone

varchar

11

0

Y

N

手机号码:[0,11]用户的手机号码,用于找回密码时或登录时

6

phone_state

smallint

5

0

N

N

0

手机认证:[0,1](0未认证|1审核中|2已认证)

7

username

varchar

16

0

N

N

用户名:[0,16]用户登录时所用的账户名称

8

nickname

varchar

16

0

Y

N

昵称:[0,16]

9

password

varchar

64

0

N

N

密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成

10

email

varchar

64

0

Y

N

邮箱:[0,64]用户的邮箱,用于找回密码时或登录时

11

email_state

smallint

5

0

N

N

0

邮箱认证:[0,1](0未认证|1审核中|2已认证)

12

avatar

varchar

255

0

Y

N

头像地址:[0,255]

13

open_id

varchar

255

0

Y

N

针对获取用户信息字段

14

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

15

vip_level

varchar

255

0

Y

N

会员等级

16

vip_discount

double

11

2

Y

N

0.00

会员折扣

表user_data (用户数据)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

user_data_id

int

10

0

N

Y

用户数据ID

2

regular_users

int

10

0

Y

N

0

普通用户

3

user_name

varchar

64

0

Y

N

用户姓名

4

user_gender

varchar

64

0

Y

N

用户性别

5

user_age

int

10

0

Y

N

0

用户年龄

6

user_height

varchar

64

0

Y

N

用户身高

7

user_weight

varchar

64

0

Y

N

用户体重

8

exercise_time

varchar

64

0

Y

N

运动时间

9

sports_type

varchar

64

0

Y

N

运动类型

10

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

11

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表user_group (用户组:用于用户前端身份和鉴权)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

group_id

mediumint

8

0

N

Y

用户组ID:[0,8388607]

2

display

smallint

5

0

N

N

100

显示顺序:[0,1000]

3

name

varchar

16

0

N

N

名称:[0,16]

4

description

varchar

255

0

Y

N

描述:[0,255]描述该用户组的特点或权限范围

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

8

register

smallint

5

0

Y

N

0

注册位置:

9

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

4系统详细实现

居家健身锻炼APP的详细设计与实现主要是根据前面的居家健身锻炼APP的需求分析和居家健身锻炼APP的总体设计来设计页面并实现业务逻辑。主要从居家健身锻炼APP界面实现、业务逻辑实现这两部分进行介绍。

4.1普通用户功能实现

4.1.1普通用户功能实现

普通用户进入首页之后会显示如下的一个窗口。系统以上下的布局进行展示,首先映入眼帘的是系统的导航栏,下面是轮播图,再往下是各种各样的功能模块信息,其主界面展示如下图4.1所示。

如下图:

图4.1居家健身锻炼APP主界面

4.1.2普通用户注册功能实现

当普通用户点击右上角的“注册”的时候,当填写上自己的账号+密码+确认密码+昵称+邮箱+手机号+选择身份登信息后,后再点击“注册”按钮后将会先验证输入的有没有空数据,再次验证密码和确认密码是否是一样的,最后验证输入的账户名和数据库表中已经注册的账户名是否重复,只有都验证没问题后即可注册成功。前台注册的部分包括了系统用户的注册,其用注册界面展示如下图4.2所示。

图4.2居家健身锻炼APP用户注册界面

普通用户注册的关键代码如下。

 @PostMapping("register")

    public Map<String, Object> signUp(HttpServletRequest request) throws IOException {

        Map<String, String> query = new HashMap<>();

        Map<String,Object> map = service.readBody(request.getReader());

        query.put("username",String.valueOf(map.get("username")));

        List list = service.selectBaseList(service.select(query, new HashMap<>()));

        if (list.size()>0){

            return error(30000, "普通用户已存在");

        }

        map.put("password",service.encryption(String.valueOf(map.get("password"))));

        service.insert(map);

        return success(1);

}

4.1.3 登录功能实现

居家健身锻炼APP中的前台上注册后的是可以通过自己的账户名和密码进行登录的,当输入完整的自己的账户名和密码信息并点击“登录”按钮后,将会首先验证输入的有没有空数据,再次验证输入的账户名+密码和数据库中当前保存的普通用户信息是否一致,只有在一致后将会登录成功并自动跳转到居家健身锻炼APP的首页中;否则将会提示相应错误信息,普通用户登录界面如下图4.3所示。

图4.3居家健身锻炼APP登录界面

普通用户登录的关键代码如下。

 @PostMapping("login")

    public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {

        log.info("[执行登录接口]");

        String username = data.get("username");

        String email = data.get("email");

        String phone = data.get("phone");

        String password = data.get("password");

        List resultList = null;

        QueryWrapper wrapper = new QueryWrapper<User>();

        Map<String, String> map = new HashMap<>();

4.1.4用户数据功能实现

普通用户可以在用户数据界面上传身高、体重、年龄等信息,新增用户数据,以便开展居家健身锻炼活动,界面如图4.4所示:

图4.4居家健身锻炼APP用户个人信息界面

4.1.5健身资讯功能实现

普通用户进登录后,点击进入健身资讯详细界面,可以查看资讯内容,对内容点赞、收藏、评论,具体的实现界面如下图4.5所示:

图4.5健身资讯界面

商家用户模块:

4.1.6健身课程功能实现

当普通用户点击“健身课程”界面时候,可以添加新的健身课程信息,填写课程名称、类型、等级,上传课程视频等信息。具体的实现界面如下图4.6所示:

图4.6健身课程界面

4.2管理员功能实现

4.2.1管理员登录功能实现

居家健身锻炼APP中的后台的管理员是可以通过自己的账户名和密码进行登录的,当输入完整的自己的账户名和密码信息并点击“登录”按钮后,将会首先验证输入的有没有空数据,再次验证输入的账户名+密码和数据库中当前保存的普通用户信息是否一致,只有在一致后将会登录成功并自动跳转到居家健身锻炼APP的首页中;否则将会提示相应错误信息,普通用户登录界面如下图4.7所示。

图4.7管理员登录界面

4.2.2系统用户功能实现

管理员在系统用户模块,可以对普通用户信息进行管理,系统用户模块由管理员,系统用两部分组成组成,这里以系统用户为例,具体的实现界面如下图:

图4.8系统用户界面

4.2.3健身课程管理功能实现

管理员点击“健身课程管理”,管理员可以查看健身课程管理列表,也可以通过填写课程名称、等级、类型、饮食规划等信息添加健身课程项目,具体的实现界面如下图:

图4.9健身课程管理界面

4.2.4课程类型管理功能实现

管理员在“课程类型管理”界面可以查看课程类型管理列表,也可以添加课程类型信息,具体的实现界面如下图:

图4.10课程类型管理界面

4.2.5课程等级管理功能实现

管理员在“课程等级管理”界面可以查看到课程等级管理列表,具体的实现界面如下图:

图4.11课程等级管理界面

5系统测试

5.1 系统测试目的

系统开发到了最后一个阶段那就是系统测试,系统测试对软件的开发其实是非常有必要的。因为没什么系统一经开发出来就可能会尽善尽美,再厉害的系统开发工程师也会在系统开发的时候出现纰漏,系统测试能够较好的改正一些bug,为后期系统的维护性提供很好的支持。通过系统测试,开发人员也可以建立自己对系统的信心,为后期的系统版本的跟新提供支持。

5.2 系统可用性测试

APP的可用性测试是测试APP最基本的功能,比如鼠标点击是否可用,页面跳转是否正常等。下面是具体的测试结果。

表5-1居家健身锻炼APP可用性测试

测试项

测试人员评价

窗口移动、改变大小、关闭等操作是否正常

操作模块是否友好

模块和提示内容等文字描述是否正确

模块布局是否合理、协调

模块的状态是否正确(对选中项能否发生对应切换)

键盘操作是否支持

所需的数据项是否正确显示

操作流程是否合理

是否提供帮助信息

5.3 系统典型测试用例

对APP的主要页面和功能点的测试用例如下:

(1) 普通用户登陆APP测试用例如表 5-2 所示。

表5-2普通用户登录APP测试用例

用例名称

普通用户登录APP

目的

测试普通用户通过正确的普通用户名和密码可否登录功能

前提

未登录的情况下

测试流程

1) 进入登录页面

2) 输入正确的普通用户名和密码

预期结果

普通用户名和密码正确的时候,跳转到登录成功界面,反之则显示错误信息,提示重新输入

实际结果

实际结果与预期结果一致

(2)通知公告信息测试用例如表 5-3 所示

表5-3 通知公告测试用例

用例名称

通知公告

目的

测试通知公告功能

前提

测试流程

打开通知公告界面

预期结果

可以进行查看通知公告详细

实际结果

实际结果与预期结果一致

(3)健身课程测试用例如表 5-4所示

表5-4健身课程测试用例

用例名称

健身课程

目的

测试健身课程模块功能

前提

测试流程

普通用户在健身课程界面点赞、评论。

预期结果

健身课程提交以后,可以查看到自己的课程信息

实际结果

实际结果与预期结果一致

(4)课程类型添加信息测试用例如表 5-5 所示

表5-5 课程类型添加测试用例

用例名称

课程类型添加

目的

测试课程类型添加功能

前提

测试流程

管理员点击课程类型添加,输入课程类型信息

预期结果

提交课程类型后可以查看课程类型信息,普通用户可以查看个人课程类型信息

实际结果

实际结果与预期结果一致

5.4 测试总结

通过系统的调试,能够检测项目的稳定性,为项目正式运行、稳定运行提供了可预测性的维护备案。能够帮助普通用户熟悉整个项目,并对项目可能出现的错误有所了解。本文提供了部分调试用例及调试日志,可以帮助普通用户解决简单的错误问题,也加深了开发者对于此框架下的项目编写的了解度,为后期开发者顺利完成项目、发布项目提供了非常大的帮助。

总结

本次设计中,我还学会了很多,例如良好的编程思想和完善的规划思想。在着手编程之前需要罗列出程序框架的大概,脑海中构建出程序的主题框架。做好这一步我们才能胸有成竹的经行开发项目。当设计框架了熟于心之后,需要思考本次编程所需的主要知识点和技术点,并充分学习。如此一来项目的开发才能循序渐进、如丝般顺滑,长久以往就能养成良好的开发习惯。一个程序好不好还要看出的bug多不多,如果在项目完成前做好bug的查验与预防可能发生的事故才能保证程序的稳定长久性运行。如果项目在完工后出现各种问题自己,那么在进入社会后,不仅会给公司团队带来麻烦和增加不必要的工作,还会导致客户流失,公司对自己的评价下降。

在本次项目中我也暴露了诸多问题。对于Java的编程知识有所欠缺,环境配置和算法上出现诸多问题,时常导致项目运行出错,或者目标的实现有问题。或者实现想法时算法未优化,使得代码冗长,程序运行不顺畅。

参考文献

  [1]申皓月. 健身类APP居家体育锻炼实施方法 [J].  新体育,  2024,    (08):  7-9.  

  [2]戴建成,王华,范玉婷.  基于SpringBoot+VUE的高校廉政档案管理系统设计与实现    [J].  产业与科技论坛,  2023,  22  (21):  58-60.  

  [3]徐剑,王少杰.  基于SpringBoot的配电房监控系统设计[J].  信息与电脑(理论版),  2023,  35  (20):  120-123.  

  [4]屈晓,周挺,吴楷,等.  一种SpringBoot基于嵌入式设备的辅助医疗App的设计与实现    [J].  电脑知识与技术,  2023,  19  (29):  55-58+66.

  [5]黄永芳,郭永刚,李峰.  基于SpringBoot的藏东南滑坡灾害管理系统设计与实现    [J].  科学技术创新,  2023,    (24):  100-103.  

  [6]谢欣,赵家琪,杨卫明.  基于SpringBoot的中国传统节日推广平台设计与实现    [J].  信息与电脑(理论版),  2023,  35  (19):  91-94.  

  [7]史倩玉.  健美健身在全民健身中的价值体现及开发利用分析    [J].  文体用品与科技,  2023,(17):  28-30.  

  [8]钟军,闫语,徐剑.  “刘畊宏热”现象对青少年居家健身的影响及启示    [J].  体育科技文献通报,  2023,  31  (07):  138-140.

  [9]刘平,苑廷刚,程泓人,等.  新冠肺炎下居家健身锻炼的科学化探索    [J].  体育科技文献通报,  2021,  29  (11):  22-25.

  [10]陈宇,祝家东,王梦囡.  基于物联网技术的健身运动监测系统研究    [J].  当代体育科技,  2021,  11  (21):  232-234.

  [11]周德超,周长根.  有氧运动强度下不同运动方式的能量消耗及健身锻炼效果评价    [J].安徽师范大学学报(自然科学版),  2021,  44  (02):  197-204.  

  [12]陆奕阳,李小荣.  试论健身运动系统性原则的运用    [J].  江西电力职业技术学院学报,  2020,  33  (04):  146-147.  

  [13]冯嘉.  健康信息传播对大学生健身锻炼行为倾向的影响调查    [J].  新闻研究导刊,  2019,  10  (23):  215-216.  

  [14]顾志勇.  老年人功能康复训练与健身锻炼过程中的常见误区及改进措施    [J].  中国老年学杂志,  2018,  38  (22):  5629-5631.  

  [15]黄东晋,姚院秋,丁友东,等.  基于Kinect的虚拟健身跑锻炼系统    [J].  图学学报,  2017,  38  (05):  789-795.  

  [16]李浩,袁晓玲.  公共健身服务供给、生态环境质量对城市居民健身行为影响的实证分析——基于CFPS数据    [J].  天津体育学院学报,  2017,  32  (04):  332-337.  DOI:10.13297/j.cnki.issn1005-0000.2017.04.009.

  [17]陈磊.  浅谈健身与健美运动对大学生的健康作用    [J].  科技视界,  2016,    (18):  148+169.  DOI:10.19694/j.cnki.issn2095-2457.2016.18.110.

  [18] Patents; Researchers Submit Patent Application, "Exercise System for Physical Rehabilitation and Fitness", for Approval    [J].  Computer Weekly News,  2014,  

  [19]靳超丽.  对晋中市榆次区中老年人健身锻炼“科学性”的调查    [J].  体育研究与教育,  2013,  28  (S2):  41-43.  DOI:10.16207/j.cnki.2095-235x.2013.s2.022.

  [20] Anonymous .  PCE Health and Fitness; Exercise is Medicine(R) Partners With IHP Online System for Physicians to Prescribe Exercise    [J].  Computers, Networks & Communications,  2011,  

致  谢

至此论文结束,感谢您的阅读。在此我要感谢我的导师,虽然我在实习期间很忙,论文撰写总是停停改改,但是导师依然十分负责,时不时的询问我的任务进展情况,跟进我的论文进度。虽然我在实习期间很忙,以至于很晚才开始进行论文撰写和编写程序的工作,但是在指导老师的帮助下,我逐步完成了自己的论文和程序,从导师身上也学习到很多知识,和经验,这些知识和经验令我受益匪浅。也从导师身上看到了自己的不足,不论是在即使层面上还是在对待工作的态度上,倒数如同明镜一般照出了我的缺点我的不足。此外,我还要感谢在我实习期间在论文和程序上帮助过我的同学和社会人士,此前我对于框架及JQuery和BootSatrp方面的一些知识还不了解,是他们在我编写程序过程中给了我很多的启发和感想,也帮助了我对于程序的调试和检测。没有他们我是不能顺利完成本次毕业设计的。至此,我的毕业设计就花上了一个圆满的句号了。

免费领取项目源码,请关注❥点赞收藏并私信博主,谢谢~
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值