基于springboot的大学生健身爱好者交流网站

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。

文章目录

  • 前言
  • 一、项目介绍
  • 二、开发环境
  • 三、功能介绍
    • 数据库表的设计
  • 四、核心代码
  • 五、效果图
  • 六、文章目录


前言

   任何系统都要遵循系统设计的基本流程,本系统也不例外,同样需要经过市场调研,需求分析,概要设计,详细设计,编码,测试这些步骤,基于java技术、springboot框架、B/S机构、Mysql数据库设计并实现了大用户健身爱好者交流系统。系统主要包括首页,个人中心,用户管理,教练管理,健身项目管理,项目分类,教练信息管理,教练预约管理,系统管理等功能模块。
  本文首先介绍了大用户健身爱好者交流技术的发展背景与发展现状,然后遵循软件常规开发流程,首先针对系统选取适用的语言和开发平台,根据需求分析制定模块并设计数据库结构,再根据系统总体功能模块的设计绘制系统的功能模块图,流程图以及E-R图。然后,设计框架并根据设计的框架编写代码以实现系统的各个功能模块。最后,对初步完成的系统进行测试,主要是功能测试、单元测试和性能测试。测试结果表明,该系统能够实现所需的功能,运行状况尚可并无明显缺点。

一、项目介绍

  21世纪,我国就已普及互联网信息,互联网对人们生活中带来了无限的便利。像大部分机构都在开发自己的管理系统,由传统的管理模式向互联网发展,如今开发自己的系统是时代发展的必然产物。那么开发大用户健身爱好者交流系统意义和用处有哪些呢?
  首先提升工作效率:这是很多机构建设系统的目的之一。大用户健身爱好者交流系统,可以摆脱传统手写记录的管理模式。利用计算机系统,进行用户信息、管理员信息的管理,其中包含首页,个人中心,用户管理,教练管理,健身项目管理,项目分类,教练信息管理,教练预约管理,系统管理等功能的管理,不只是节省了人力和物力,还提高了工作的效率,让管理员,用户和教练可以更加高效地工作。
一个好的系统能将大用户健身爱好者交流手段提上一个新的台阶。系统内容可以随时更新,这点对于私人健身管理者来说是很重要,这是传统的管理方式都无法做到的。大用户健身爱好者交流系统就可以每天更新,随时了解私人健身与教练预约的最新情况。
  大用户健身爱好者交流系统能够通过互联网得到广泛的、全面的宣传,让尽可能多的用户了解和熟知大用户健身爱好者交流系统的便捷高效,为管理者,教练和用户提供了服务,节省人力、物力和时间,提高工作效率。

二、开发环境

开发语言:Java
框架:springboot
JDK版本:JDK1.8
服务器:tomcat7
数据库:mysql
数据库工具:Navicat11
开发软件:eclipse/myeclipse/idea
Maven包:Maven
————————————————

三、功能介绍

  根据现实需要,此系统我们设计出一下功能,主要有以下功能模板。
(1)前台功能:首页、健身百科、健身分享、健身论坛、公告资讯。
(2)管理员功能:首页、个人中心、用户管理、健身类别管理、健身百科管理、健身分享管理、健身论坛、系统管理。
(3)用户功能:首页、个人中心、健身分享管理。

在系统的功能设计方面,大用户健身爱好者交流的设计目标是便于大用户可以分享健身,因此抽取了满足管理员、用户基本业务需求的基本用例,如图3-1、3-2所示。
基于springboot的大学生健身爱好者交流网站_第1张图片

图3-1 管理员功能用例图
基于springboot的大学生健身爱好者交流网站_第2张图片

图3-2 用户功能用例图

  本系统设计时,确定详细功能,这些功能主要通过需求阶段的调研分析得来的,具体功能模块如下图,如图4-1所示。
基于springboot的大学生健身爱好者交流网站_第3张图片

图4-1 系统结构图

数据库表的设计

  数据库设计是开发中比较重要的一步,需要先设计整体的表,确定项目,必须要确定几张表,设计表的结构,表之间的关联关系等,只有这样才能保证系统的稳固性。数据库主要是为了存储整个项目的数据,确保数据的安全性。整个表都包含项目中实体的各个字段和属性,我们通常用概念性模型来设计即为E-R模型。
基于springboot的大学生健身爱好者交流网站_第4张图片

部分数据库展示

(1)jianshenleibie 功能:健身类别

基于springboot的大学生健身爱好者交流网站_第5张图片

(2)表名:jianshenfenxiang 功能:健身分享

基于springboot的大学生健身爱好者交流网站_第6张图片

四、核心代码

部分代码:

package com.example.controller;

import cn.hutool.core.util.StrUtil;
import cn.hutool.crypto.SecureUtil;
import com.example.common.Result;
import com.example.common.ResultCode;
import com.example.entity.Caiwu;
import com.example.exception.CustomException;
import com.example.service.CaiwuService;
import com.example.utils.MapWrapperUtils;
import com.example.utils.jwt.JwtUtil;
import com.example.vo.CaiwuVo;
import org.springframework.beans.BeanUtils;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@RestController
@RequestMapping(value = "/caiwu")
public class CaiwuController {

    @Resource
    private CaiwuService caiwuService;

    @PostMapping
    public Result<Caiwu> add(@RequestBody CaiwuVo caiwu) {
        caiwuService.add(caiwu);
           return Result.success(caiwu);
    }
	
	

    @PostMapping("/deleteList")
    public Result<Caiwu> deleteList(@RequestBody CaiwuVo caiwu) {
        caiwuService.deleteList(caiwu.getList());
        return Result.success();
    }

    @DeleteMapping("/{id}")
    public Result delete(@PathVariable Long id) {
        caiwuService.delete(id);
        return Result.success();
    }

    @PutMapping
    public Result update(@RequestBody CaiwuVo caiwu) {
        caiwuService.update(caiwu);
        return Result.success();
    }

    @GetMapping("/{id}")
    public Result<Caiwu> detail(@PathVariable Integer id) {
        Caiwu caiwu = caiwuService.findById(id);
        return Result.success(caiwu);
    }

    @GetMapping
    public Result<List<Caiwu>> all() {
        return Result.success(caiwuService.list());
    }

    @PostMapping("/page")
    public Result<CaiwuVo> page(@RequestBody CaiwuVo caiwuVo) {
        return Result.success(caiwuService.findPage(caiwuVo));
    }
	    @PostMapping("/login")
    public Result login(@RequestBody Caiwu caiwu, HttpServletRequest request) {
        if (StrUtil.isBlank(caiwu.getZhanghao()) || StrUtil.isBlank(caiwu.getMima())) {
            throw new CustomException(ResultCode.PARAM_LOST_ERROR);
        }
        Caiwu login = caiwuService.login(caiwu);
//        if(!login.getStatus()){
//            return Result.error("1001","状态限制,无法登录系统");
//        }
        if(login != null) {
            HashMap hashMap = new HashMap();
            hashMap.put("user", login);
            Map<String, Object> map = MapWrapperUtils.builder(MapWrapperUtils.KEY_USER_ID,caiwu.getId());
            String token = JwtUtil.creatToken(map);
            hashMap.put("token", token);
            return Result.success(hashMap);
        }else {
            return Result.error();
        }
    }
    @PutMapping("/updatePassword")
    public Result updatePassword(@RequestBody Caiwu info, HttpServletRequest request) {
        Caiwu caiwu = caiwuService.findById(info.getId());
        String oldPassword = SecureUtil.md5(info.getMima());
        if (!oldPassword.equals(caiwu.getMima())) {
            return Result.error(ResultCode.PARAM_PASSWORD_ERROR.code, ResultCode.PARAM_PASSWORD_ERROR.msg);
        }
        info.setMima(SecureUtil.md5(info.getNewPassword()));
        Caiwu caiwu1 = new Caiwu();
        BeanUtils.copyProperties(info, caiwu1);
        caiwuService.update(caiwu1);
        return Result.success();
    }
}

五、效果图

基于springboot的大学生健身爱好者交流网站_第7张图片
基于springboot的大学生健身爱好者交流网站_第8张图片

基于springboot的大学生健身爱好者交流网站_第9张图片
基于springboot的大学生健身爱好者交流网站_第10张图片
基于springboot的大学生健身爱好者交流网站_第11张图片

六、文章目录

目 录

1 概述 3
1.1课题背景及意义 3
1.2 国内外研究现状 3
1.3本论文的结构安排 4
2 系统开发环境 6
2.1 Java介绍 6
2.2 B/S模式 6
2.3 MySQL数据库 7
2.4 SpringBoot框架 7
2.5 Vue开发技术 7
3 系统分析 8
3.1 概述 8
3.2 功能需求 8
3.3 非功能性需求 10
3.4 系统特色 11
3.5 可行性研究 11
3.5.1财务可行性 11
3.5.2技术可行性 12
3.5.3运行可行性 12
3.6系统总体设计 12
3.6.1系统设计结构 12
3.6.2系统架构设计 12
4 系统设计 13
4.1 系统设计主要功能 13
4.1.1体系结构 13
4.1.2 系统功能结构设计 13
4.2 数据库设计 14
4.2.1 数据库设计概述 14
4.2.2 数据库表的设计 15
5 系统界面实现 20
5.1 登录 20
5.2 管理员功能模块 20
5.2.1管理员界面 20
5.2.6系统管理 23
6 系统测试 24
6.1 测试定义 24
6.2 测试目的 24
6.3测试方案 25
6.4系统分析 25
7 总结 26
参考文献 27
致谢 29

你可能感兴趣的:(java,计算机毕业设计,spring,boot,后端,java)