基于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);
    }

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

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

相关推荐
东阳马生架构4 小时前
商品中心—6.商品考核系统的技术文档
java
晴空月明5 小时前
Java 内存模型与 Happens-Before 关系深度解析
java
excel5 小时前
Nginx 与 Node.js(PM2)的对比优势及 HTTPS 自动续签配置详解
后端
萌萌哒草头将军6 小时前
🚀🚀🚀 不要只知道 Vite 了,可以看看 Farm ,Rust 编写的快速且一致的打包工具
前端·vue.js·react.js
bobz9657 小时前
vxlan 为什么一定要封装在 udp 报文里?
后端
bobz9657 小时前
vxlan 直接使用 ip 层封装是否可以?
后端
前端南玖8 小时前
深入Vue3响应式:手写实现reactive与ref
前端·javascript·vue.js
皮皮林5519 小时前
SpringBoot 加载外部 Jar,实现功能按需扩展!
java·spring boot
郑道9 小时前
Docker 在 macOS 下的安装与 Gitea 部署经验总结
后端
3Katrina9 小时前
妈妈再也不用担心我的课设了---Vibe Coding帮你实现期末课设!
前端·后端·设计