基于springboot+vue的大学生创新创业系统(前后端分离)

博主主页猫头鹰源码

博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万+、专注Java技术领域和毕业设计项目实战

主要内容 :毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询

文末联系获取

项目介绍:

本系统采用前后端分离,项目代码工整,结构清晰,适合选题:大学生创新创业、大学生、创新创业、创业、创新、前后端分离类其他创新创业系统等。系统采用springboot+vue整合开发,前端主要使用了element-ui框架、项目后端主要使用了springboot,数据层采用mybatis。

部分功能:

复制代码
进入平台来到首页,首页展示轮播图、创新创业政策信息以及优质项目。点击政策信息和项目信息可以跳转详情页面查看信息。首页右上角为登录/注销功能,登录后为个人中心,点击个人中心跳转当前用户页面。用户分为四个角色:管理员、专家评审组、教师、学生。管理员身份不能进行注册

管理员:
用户管理:维护不同角色用户(增删改查)
政策信息管理:维护相关政策信息。
项目管理:项目的增删改查
项目审核:审核项目、查看审核
项目计划管理:查看计划
项目评价管理:查看评价
成果管理:维护成果展示

专家皮评审组:
登录注册,维护个人信息(增删改查)
项目管理:查看负责的项目信息
项目审核:审核负责的项目
项目计划管理:查看计划、计划审核
项目评价管理:专家评审组进行评
成果管理:查看成果展示

指导教师:
登录注册,维护个人信息
项目管理:查看负责的项目
项目审核:审核项目和查看专家审核结果
项目计划管理:查看计划、计划审核
项目评价管理:指导教师进行评价、查看专家评价
成果管理:查看成果展示
项目选择:学生团队可以申请教师成为项目指导教师、教师可以同意或拒绝。

学生:
登录注册,维护个人信息
项目申报:申报项目(多人项目可依据账号添加成员)
项目管理:对进行中的项目增删改,查看项目审核结果
项目计划管理:维护计划
项目评价管理:查看评价
成果管理:查看成果展示
教师选择:项目申报时申请指导教师。(可多选,最多三名)

系统包含技术:

后端:springboot,mybatis

前端:element-ui、js、css等

开发工具:idea/vscode

数据库:mysql 5.7

JDK版本:jdk1.8

部分截图说明:

下面是首页

政策列表

政策详情

优质项目

登录

用户管理

项目管理

项目计划管理

项目评价管理

部分代码:

复制代码
 /**
     * 分页查询
     */
    @PostMapping("selectAll")
    public PageInfo<Application> selectAll(@RequestBody Map<String,String> mp) {
        PageHelper.startPage(Integer.parseInt(mp.get("currentPage").toString()), Integer.parseInt(mp.get("pagesize").toString()));
        List<Application> list = applicationService.queryAllByLimit(mp);
        PageInfo<Application> pageInfo = new PageInfo<Application>(list);
        return pageInfo;
    }

    /**
     * 修改
     */
    @RequestMapping("edit")
    public String edit(@RequestBody Application application) {
        try {
            applicationService.update(application);
            Application application2 = applicationService.queryById(application.getId());
            Application application1 = new Application();
            application1.setPid(application2.getPid());
            List<Application> applications = applicationService.queryCondition(application1);
            //如果全部审核过了就修改项目状态
            if(applications.size()>0){
                int s = 0;
                for(int i=0;i<applications.size();i++){
                    if(applications.get(i).getStatus().equals("02")){
                        s++;
                    }
                }
                if(s==applications.size()){
                    Project project = new Project();
                    project.setId(Integer.parseInt(application2.getPid()));
                    project.setStatus("02");
                    projectService.update(project);
                    //然后生成项目审核记录,等待审核
                    for(int n=0;n<applications.size();n++){
                        if(applications.get(n).getStatus().equals("02")){
                            Check check = new Check();
                            check.setPid(applications.get(n).getPid());
                            check.setUid(applications.get(n).getTid());
                            check.setType("01");
                            check.setStatus("01");
                            Date date = new Date();
                            check.setCreateTime(date);
                            checkService.insert(check);
                        }
                    }
                }
            }
            return "200";
        }catch (Exception e){
            e.printStackTrace();
            return "201";
        }
    }

    /**
     * 新增
     */
    @RequestMapping("add")
    public String add(@RequestBody Application application) {
        try {
            Application application1 = new Application();
            application1.setPid(application.getPid());
            List<Application> applications2 = applicationService.queryCondition(application1);
            application1.setTid(application.getTid());
            List<Application> applications = applicationService.queryCondition(application1);
            if(applications.size()>0){
                return "202";
            }
            if(applications2.size()==3){
                return "203";
            }
            Date date = new Date();
            application.setCreateTime(date);
            applicationService.insert(application);
            return "200";
        }catch (Exception e){
            e.printStackTrace();
            return "201";
        }
    }

    /**
     * 通过主键查询单条数据
     */
    @GetMapping("selectOne")
    public Application selectOne(Integer id) {
        return applicationService.queryById(id);
    }

以上就是部分功能展示,从整体上来看,本系统功能是十分完整的,界面设计简洁大方,交互友好,数据库设计也很合理,规模适中,代码工整,清晰,适合学习使用。

好了,今天就到这儿吧,小伙伴们点赞、收藏、评论,一键三连走起呀,下期见~~

相关推荐
冷雨夜中漫步6 分钟前
DeepSeek Harness:一切皆插件的 AI Agent 框架深度解析
java·人工智能·ai·开源·github
IT_陈寒6 分钟前
Vite热更新失效?八成是这个配置在搞鬼
前端·人工智能·后端
qq_225891746615 分钟前
基于Flask的空气质量监测与预测分析系统
开发语言·后端·python·信息可视化·django·flask
lhldsg29 分钟前
社区健身系统开发实战:从需求分析到落地部署全流程指南
java·开发语言·小程序·需求分析
覆东流37 分钟前
4.Java运算符与表达式
java·开发语言·后端
JacksonMx1 小时前
ContentCachingRequestWrapper 实战:解决请求体“只能读一次”的官方方案
java·spring boot·spring
马丁玩编程1 小时前
GitHub 3.5k Star 之后,Ragent AI 框架新版本来了
后端·面试·github
微石科技1 小时前
医疗设备维保如何从被动维修转向预防管理?宁波微石科技让运行数据提前发信号
java·后端·struts
AINative软件工程1 小时前
LLM 应用的 Warm-Up 工程实践:冷启动延迟从 12 秒砍到 800ms 的 5 个工程手段
后端·llm·ai编程
SomeB1oody1 小时前
【RustyML入门】5.1. 回归指标
开发语言·后端·机器学习·rust·教程