【开源】JAVA+Vue.js实现创意工坊双创管理系统

news2024/12/26 20:52:20

在这里插入图片描述


目录

  • 一、摘要
    • 1.1 项目介绍
    • 1.2 项目录屏
  • 二、功能模块
    • 2.1 管理员端
    • 2.2 Web 端
    • 2.3 移动端
  • 三、系统展示
  • 四、核心代码
    • 4.1 查询项目
    • 4.2 移动端新增团队
    • 4.3 查询讲座
    • 4.4 讲座收藏
    • 4.5 小程序登录
  • 五、免责说明


一、摘要

1.1 项目介绍

基于JAVA+Vue+SpringBoot+MySQL的创意工坊双创管理系统,包含了讲座管理、消息管理、项目管理、公共空间、房间预约、团队管理模块,还包含系统自带的用户管理、部门管理、角色管理、菜单管理、日志管理、数据字典管理、文件管理、图表展示等基础模块,创意工坊双创管理系统基于角色的访问控制,给工坊管理员、教师和学生角色使用,可将权限精确到按钮级别,您可以自定义角色并分配权限,系统适合设计精确的权限约束需求。

1.2 项目录屏


二、功能模块

在这里插入图片描述

2.1 管理员端

按照软件工程规范描述管理员端需求,细化用例规约,合理设计数据库,实现管理员端以下功能。

  1. 注册登录注销功能:管理员需要登录管理员账号,可以对系统的所有事务进行管理;用户端即教师和学生通过工号或学号进行注册登录,其中web端的安全验证采用图片或者验证码形式,微信小程序端安全验证采用短信验证码形式。
  2. 权限设置功能:对不同的角色设置管理权限。
  3. 基本信息管理:教师、学生可查看、补充基本信息。
  4. 基础信息导入:学生信息的批量导入。
  5. 各模板后台管理:项目管理、团队管理、房间预约、讲座信息等模块相关数据存储、后台展示、审核。
  6. 大数据分析模块:分类统计各功能模块信息,并做可视化展示。
  7. 留言管理:学生可进行留言,或者投诉与建议。
  8. 查询功能:用户可对平台内容进行查询。
  9. 消息通知功能:管理员对不良、不合法言论的账户予以警告通知;对即将使用的公共空间、讲座信息进行提醒。

2.2 Web 端

按照软件工程规范描述web端需求,细化用例规约,合理设计数据库,实现web端以下功能。

  1. 主页(首页)功能:项目管理、团队管理、房间预约、讲座信息、留言区、个人中心等页面设计。
  2. 公共空间管理:学生可查看公共空间信息,并进行预约;教师管理员可以发布信息,查看信息,审核管理。
  3. 讲座双选管理:双创导师可以发布讲座信息;学生可以查看讲座活动信息,查看、申请参加活动;讲师可以查看学生选报情况。
  4. 项目管理:学生申报项目,包括创新、创业、竞赛类项目;由导师或者管理员进行审核;学生可以查看进度条,清晰地了解状态。
  5. 房间预约:学生可以预约场地使用;可以查看进度条,看审批状态。
  6. 团队管理:学生可以自由组建团队;也可以由导师指定团队。
  7. 留言功能:学生可以对相关信息进行留言、评论。
  8. 个人信息管理:学生可以查看个人信息,并可进行修改。
  9. 消息通知功能:管理员对不良、不合法言论的账户予以警告通知;对其预约过并即将使用场地、讲座等重要信息进行提醒。
  10. 用户点赞、收藏功能:对体验感友好的事件可以点赞、收藏。

2.3 移动端

按照软件工程规范描述移动端需求,细化用例规约,合理设计数据库,实现移动端以下功能。

  1. 主页(首页)功能:项目管理、团队管理、房间预约、讲座信息、留言区、个人中心等页面设计。
  2. 公共空间管理;学生可查看公共空间信息,并进行预约;教师管理员可以发布信息,查看信息,审核管理。
  3. 讲座双选管理:双创导师可以发布讲座信息:学生可以查看讲座活动信息,查看、申请参加活动﹔讲师可以查看学生选报情况。
  4. 项目管理:学生申报项目,包括创新、创业、竞赛类项目;由导师或者管理员进行审核:学生可以查看进度条,清晰地了解状态。
  5. 房间预约:学生可以预约场地使用;可以查看进度条,看审批状态。
  6. 团队管理:学生可以自由组建团队;也可以由导师指定团队。
  7. 留言功能:学生可以对相关信息进行留言、评论。
  8. 个人信息管理:学生可以查看个人信息,并可进行修改。
  9. 消息通知功能:管理员对不良、不合法言论的账户予以警告通知:对其预约过并即将使用场地、讲座等重要信息.进行提醒。
  10. 用户点赞、收藏功能,对体验感友好的事件可以点赞、收藏。

三、系统展示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


四、核心代码

4.1 查询项目

@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询项目")
public Result<IPage<Project>> getByPage(@ModelAttribute Project project ,@ModelAttribute PageVo page){
    QueryWrapper<Project> qw = new QueryWrapper<>();
    if(!ZwzNullUtils.isNull(project.getTitle())) {
        qw.like("title",project.getTitle());
    }
    if(!ZwzNullUtils.isNull(project.getUserName())) {
        qw.like("user_name",project.getUserName());
    }
    IPage<Project> data = iProjectService.page(PageUtil.initMpPage(page),qw);
    return new ResultUtil<IPage<Project>>().setData(data);
}

4.2 移动端新增团队

@RequestMapping(value = "/insertApp", method = RequestMethod.GET)
@ApiOperation(value = "新增团队")
public Result<Team> insertApp(@RequestParam String title,@RequestParam String content){
    Team team = new Team();
    team.setTitle(title);
    team.setContent(content);
    User currUser = securityUtil.getCurrUser();
    team.setUserId(currUser.getId());
    team.setUserName(currUser.getNickname());
    team.setTime(DateUtil.now());
    iTeamService.saveOrUpdate(team);
    return new ResultUtil<Team>().setData(team);
}

4.3 查询讲座

@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询讲座")
public Result<IPage<Lecture>> getByPage(@ModelAttribute Lecture lecture ,@ModelAttribute PageVo page){
    QueryWrapper<Lecture> qw = new QueryWrapper<>();
    User currUser = securityUtil.getCurrUser();
    if(!ZwzNullUtils.isNull(lecture.getTitle())) {
        qw.like("title",lecture.getTitle());
    }
    if(!ZwzNullUtils.isNull(lecture.getContent())) {
        qw.like("content",lecture.getContent());
    }
    IPage<Lecture> data = iLectureService.page(PageUtil.initMpPage(page),qw);
    for (Lecture vo : data.getRecords()) {
        QueryWrapper<Good> goodQw = new QueryWrapper<>();
        goodQw.eq("lecture_id",vo.getId());
        goodQw.eq("user_id",currUser.getId());
        vo.setGood(iGoodService.count(goodQw));
        QueryWrapper<Collect> collectQw = new QueryWrapper<>();
        collectQw.eq("lecture_id",vo.getId());
        collectQw.eq("user_id",currUser.getId());
        vo.setCollect(iCollectService.count(collectQw));
    }
    return new ResultUtil<IPage<Lecture>>().setData(data);
}

4.4 讲座收藏

@RequestMapping(value = "/addOne", method = RequestMethod.GET)
@ApiOperation(value = "新增单条收藏")
public Result<Object> addOne(@RequestParam String id){
    Lecture l = iLectureService.getById(id);
    if(l == null) {
        return ResultUtil.error("讲座不存在");
    }
    User currUser = securityUtil.getCurrUser();
    QueryWrapper<Collect> collectQw = new QueryWrapper<>();
    collectQw.eq("lecture_id",id);
    collectQw.eq("user_id",currUser.getId());
    if(iCollectService.count(collectQw) > 0L) {
        iCollectService.remove(collectQw);
        return ResultUtil.success();
    }
    Collect collect = new Collect();
    collect.setLectureId(id);
    collect.setLectureName(l.getName());
    collect.setUserId(currUser.getId());
    collect.setUserName(currUser.getNickname());
    collect.setTime(DateUtil.now());
    iCollectService.saveOrUpdate(collect);
    return ResultUtil.success();
}

4.5 小程序登录

<swiper class="swiper-box" current="{{currentTab}}" duration="300" style="height:420px" bindchange="GetCurrentTab" data-current='6' >  
<swiper-item wx:for="{{tabCont}}" wx:key="item.index">  
  

  <view wx:if="{{item.index==0}}">
          <!-- 账号 -->
          <view class="section">
            <input placeholder="手机号" bindblur="logincode" />
          </view>

          <!-- 密码 -->
          <view class="section">
            <input placeholder="登入密码" bindblur="loginpassword" password="true"  />
          </view>
          
          <view class="section"></view>
          <!-- 提交按钮 -->
          <view wx:if='{{islogin==""}}' class='btn_box' >
          
            <button type="primary" bindtap="loginTo"  >登录</button>
          </view>

          <!-- 退出按钮 -->
          <view wx:else class='btn_box'>
            <button type="primary" bindtap="returnmain" >退出</button>
          </view>

  </view>
</swiper-item> 

五、免责说明

  • 本项目仅供个人学习使用,商用授权请联系博主,否则后果自负。
  • 博主拥有本软件构建后的应用系统全部内容所有权及独立的知识产权,拥有最终解释权。
  • 如有问题,欢迎在仓库 Issue 留言,看到后会第一时间回复,相关意见会酌情考虑,但没有一定被采纳的承诺或保证。

下载本系统代码或使用本系统的用户,必须同意以下内容,否则请勿下载!

  1. 出于自愿而使用/开发本软件,了解使用本软件的风险,且同意自己承担使用本软件的风险。
  2. 利用本软件构建的网站的任何信息内容以及导致的任何版权纠纷和法律争议及后果和博主无关,博主对此不承担任何责任。
  3. 在任何情况下,对于因使用或无法使用本软件而导致的任何难以合理预估的损失(包括但不仅限于商业利润损失、业务中断与业务信息丢失),博主概不承担任何责任。
  4. 必须了解使用本软件的风险,博主不承诺提供一对一的技术支持、使用担保,也不承担任何因本软件而产生的难以预料的问题的相关责任。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1498441.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

个人项目介绍4:三维园区篇

个人项目介绍: 地图铁路线路篇 地球卫星篇 火车站篇 三维园区篇 项目需求&#xff1a; 1.按比例全景显示三维园区 2.精确显示园区内设备设施 3.实时显示设备报警信息 4.显示园区内摄像监控设备&#xff0c;并可点击显示监控视频流 5.显示园区内的重大危险源和风险分布 …

Ansible 基础入门

2&#xff09;Ansible 介绍 Ansible 基本概念 Ansible 是一种自动化运维工具&#xff0c;基于 Paramiko 开发的&#xff0c;并且基于模块化工作&#xff0c;Ansible 是一种集成 IT 系统的配置管理、应用部署、执行特定任务的开源平台&#xff0c;它是基于 Python 语言&#xf…

tomcat搭建个人博客 实现动静分离

jar包相关 .war&#xff1a;WebApp打包,类zip格式文件,通常包括一个应用的所有资源,比如jsp,html,配置文件等 .jar&#xff1a;EJB类文件的打包压缩类zip格式文件&#xff0c;,包括很多的class文件, 网景公司发明 .rar&#xff1a;资源适配器类打包文件&#xff0c;目前已不常…

6个维度分析实时渲染和Webgl技术异同

在日常交流中&#xff0c;对Webgl技术熟悉的合作伙伴&#xff0c;在初次了解实时渲染技术时&#xff0c;都会问二者之间的异同。目前很多要求B/S架构的项目&#xff0c;很多在用webgl技术路线&#xff0c;而且这个方案在行业里比较普&#xff0c;业主方对这个也比较熟悉&#x…

T01类加载机制

类加载机制 类加载运行全过程 当我们用java命令运行某个类的main函数启动程序时&#xff0c;首先需要通过类加载器把主类加载到JVM public class Math {public static final int initData 666;public static User user new User();public int compute() {int a 1;int b …

泛型 --java学习笔记

什么是泛型 定义类、接口、方法时&#xff0c;同时声明了一个或者多个类型变量&#xff08;如&#xff1a;<E>&#xff09;&#xff0c;称为泛型类、泛型接口&#xff0c;泛型方法、它们统称为泛型 可以理解为扑克牌中的癞子&#xff0c;给它什么类型它就是什么类型 如…

1.BOM-获取元素(获取元素、修改属性)

web Api基本认知 作用&#xff1a;通过JS去操作html页面和浏览器(实现浏览器中的某些功能) 分类&#xff1a; DOM(网页)&#xff1a;Document Object Model(文档对象模型) BOM(浏览器)&#xff1a;Borwser Object Model(浏览器对象模型) DOM DOM树 将网页中标签的关系以树状…

Java定时调度:Timer类和TimerTask类

Java提供了多种方式来执行定时任务&#xff0c;其中使用Timer类和TimerTask类是一种简单而有效的方法。这篇教程将介绍如何使用Java的Timer类和TimerTask类来实现定时调度。 1. Timer类 Timer类用于安排指定的任务按指定的时间执行。它可以执行一次性任务&#xff0c;也可以按…

详解事件循环机制

浏览器最主要的进程 &#xff1a; 渲染主线程 如何理解JS的异步 任务没有优先级&#xff0c;但消息队列有优先级 阐述一下JS的事件循环

25考研资料PDF汇总

资料V馊public号ZL研知己 V馊public号ZL研知己 25考研资料PDF汇总

008-跨域

跨域 什么是跨域&#xff1f;非同源限制跨域解决方案CORSJSONP服务器进行第三方代理webscoketwindow.postMessage 什么是跨域&#xff1f; 同源策略&#xff1a;协议相同、域名相同、端口号相同 的两个页面被认为是同源。 由一个页面的 js 访问不同源的页面内容&#xff0c;被…

电磁兼容EMC:单、双面板的均匀传输线

目录 1 传输线 2 均匀传输线 3 特征阻抗 4 应用案例 为何要讲单、双面板的均匀传输线&#xff1f;因为均匀传输线能保证信号质量&#xff0c;减少EMC问题&#xff0c;而单双面板没有完整的地和电源平面&#xff0c;很难实现均匀传输线的布线&#xff0c;所以更需要知道如何在…

Java_排序

文章目录 一、排序的概念二、常见的排序算法三、常见排序算法的实现1.插入排序1、基本思想2、直接插入排序3、希尔排序&#xff08;缩小增量排序&#xff09; 2.选择排序1、基本思想2、直接选择排序2、堆排序 3.交换排序1、冒泡排序2、快速排序3、快速排序优化4、快速排序非递归…

day2:keil5基础2

思维导图 使用ADC采样光敏电阻数值&#xff0c;如何根据这个数值调节LED灯亮度。2.总结DMA空闲中断接收数据的使用方法 while (1){/* USER CODE END WHILE *//* USER CODE BEGIN 3 */adc_value HAL_ADC_GetValue(&hadc);TIM3->CCR3 adc_value * 999 / 4095;printf(&q…

Stable Diffusion 模型分享:DucHaiten-AIart-SDXL(动漫、3D、逼真)

本文收录于《AI绘画从入门到精通》专栏&#xff0c;专栏总目录&#xff1a;点这里。 文章目录 模型介绍生成案例案例一案例二案例三案例四案例五案例六案例七案例八 下载地址 模型介绍 这是一个丰富多彩的 SDXL 模型&#xff0c;可以绘制动漫、3D、科幻、真实等类型的图片。 …

第 5 章 ROS常用组件动态坐标变换(自学二刷笔记)

5.1.3 动态坐标变换 所谓动态坐标变换&#xff0c;是指两个坐标系之间的相对位置是变化的。 需求描述: 启动 turtlesim_node&#xff0c;该节点中窗体有一个世界坐标系(左下角为坐标系原点)&#xff0c;乌龟是另一个坐标系&#xff0c;键盘控制乌龟运动&#xff0c;将两个坐…

请说明Vue中的异步组件加载

Vue中的异步组件加载是指当页面需要渲染某个组件时&#xff0c;可以在需要时再去加载这个组件&#xff0c;而不是在页面初始化的时候就将所有组件一次性加载进来。这种方式能够有效降低页面的初始加载时间&#xff0c;提升用户体验。 在Vue中&#xff0c;我们可以使用import函…

idea Gradle 控制台中文乱码

如下图所示&#xff0c;idea 中的 Gradle 控制台中文乱码&#xff1a; 解决方法&#xff0c;如下图所示&#xff1a; 注意&#xff1a;如果你的 idea 使用 crack 等方式破解了&#xff0c;那么你可能需要在文件 crack-2023\jetbra\vmoptions\idea.vmoptions 中进行配置&#xf…

每日五道java面试题之springMVC篇(一)

目录&#xff1a; 第一题. 什么是Spring MVC&#xff1f;简单介绍下你对Spring MVC的理解&#xff1f;第二题. Spring MVC的优点第三题. Spring MVC的主要组件&#xff1f;第四题. 什么是DispatcherServlet?第五题. 什么是Spring MVC框架的控制器&#xff1f; 第一题. 什么是S…

基于51单片机的车辆出入光电传感管理系统设计

目 录 摘 要 I Abstract II 引 言 1 第1章 系统总体方案设计 3 1.1 整体方案设计 3 1.1.1 控制系统的选择 3 1.1.2 系统框图 4 1.2 最小系统模块 4 1.2.1 STC89C51简介 4 1.2.2 最小系统电路 6 第2章 系统硬件设计 8 2.1 单片机的选择 8 2.2 显示方案的选择 8 2.3 红外检测模块…