【开源】基于JAVA+Vue+SpringBoot的创意工坊双创管理系统

本文主要是介绍【开源】基于JAVA+Vue+SpringBoot的创意工坊双创管理系统,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述


目录

  • 一、摘要
    • 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. 必须了解使用本软件的风险,博主不承诺提供一对一的技术支持、使用担保,也不承担任何因本软件而产生的难以预料的问题的相关责任。

在这里插入图片描述

这篇关于【开源】基于JAVA+Vue+SpringBoot的创意工坊双创管理系统的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/632084

相关文章

Spring Boot集成/输出/日志级别控制/持久化开发实践

《SpringBoot集成/输出/日志级别控制/持久化开发实践》SpringBoot默认集成Logback,支持灵活日志级别配置(INFO/DEBUG等),输出包含时间戳、级别、类名等信息,并可通过... 目录一、日志概述1.1、Spring Boot日志简介1.2、日志框架与默认配置1.3、日志的核心作用

破茧 JDBC:MyBatis 在 Spring Boot 中的轻量实践指南

《破茧JDBC:MyBatis在SpringBoot中的轻量实践指南》MyBatis是持久层框架,简化JDBC开发,通过接口+XML/注解实现数据访问,动态代理生成实现类,支持增删改查及参数... 目录一、什么是 MyBATis二、 MyBatis 入门2.1、创建项目2.2、配置数据库连接字符串2.3、入

Springboot项目启动失败提示找不到dao类的解决

《Springboot项目启动失败提示找不到dao类的解决》SpringBoot启动失败,因ProductServiceImpl未正确注入ProductDao,原因:Dao未注册为Bean,解决:在启... 目录错误描述原因解决方法总结***************************APPLICA编

深度解析Spring Security 中的 SecurityFilterChain核心功能

《深度解析SpringSecurity中的SecurityFilterChain核心功能》SecurityFilterChain通过组件化配置、类型安全路径匹配、多链协同三大特性,重构了Spri... 目录Spring Security 中的SecurityFilterChain深度解析一、Security

SpringBoot多环境配置数据读取方式

《SpringBoot多环境配置数据读取方式》SpringBoot通过环境隔离机制,支持properties/yaml/yml多格式配置,结合@Value、Environment和@Configura... 目录一、多环境配置的核心思路二、3种配置文件格式详解2.1 properties格式(传统格式)1.

Apache Ignite 与 Spring Boot 集成详细指南

《ApacheIgnite与SpringBoot集成详细指南》ApacheIgnite官方指南详解如何通过SpringBootStarter扩展实现自动配置,支持厚/轻客户端模式,简化Ign... 目录 一、背景:为什么需要这个集成? 二、两种集成方式(对应两种客户端模型) 三、方式一:自动配置 Thick

Spring WebClient从入门到精通

《SpringWebClient从入门到精通》本文详解SpringWebClient非阻塞响应式特性及优势,涵盖核心API、实战应用与性能优化,对比RestTemplate,为微服务通信提供高效解决... 目录一、WebClient 概述1.1 为什么选择 WebClient?1.2 WebClient 与

Java.lang.InterruptedException被中止异常的原因及解决方案

《Java.lang.InterruptedException被中止异常的原因及解决方案》Java.lang.InterruptedException是线程被中断时抛出的异常,用于协作停止执行,常见于... 目录报错问题报错原因解决方法Java.lang.InterruptedException 是 Jav

深入浅出SpringBoot WebSocket构建实时应用全面指南

《深入浅出SpringBootWebSocket构建实时应用全面指南》WebSocket是一种在单个TCP连接上进行全双工通信的协议,这篇文章主要为大家详细介绍了SpringBoot如何集成WebS... 目录前言为什么需要 WebSocketWebSocket 是什么Spring Boot 如何简化 We

java中pdf模版填充表单踩坑实战记录(itextPdf、openPdf、pdfbox)

《java中pdf模版填充表单踩坑实战记录(itextPdf、openPdf、pdfbox)》:本文主要介绍java中pdf模版填充表单踩坑的相关资料,OpenPDF、iText、PDFBox是三... 目录准备Pdf模版方法1:itextpdf7填充表单(1)加入依赖(2)代码(3)遇到的问题方法2:pd