编程导航教程

首页

OJ 在线判题系统项目介绍

2024-05-16 14:28
阅读 3.9w
评论
问答
笔记
0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
大纲
    6

    项目简介

    编程导航项目介绍视频

    请观看该视频,可以利用视频底部的章节条快速定位到对应的项目哦:https://www.bilibili.com/video/BV1YvmbYbEgS (记得给个三连支持谢谢 ❤️)

    项目介绍

    这次带做的是一个让很多同学 “望而生畏” 的硬项目, 基于 Vue 3 + Spring Boot + Spring Cloud 微服务 + Docker 的 编程题目在线评测系统 (简称 OJ)。

    在系统前台,管理员可以创建、管理题目;用户可以自由搜索题目、阅读题目、编写并提交代码。

    在系统后端,能够根据管理员设定的题目测试用例在 代码沙箱 中对代码进行编译、运行、判断输出是否正确。

    其中,代码沙箱可以作为独立服务,提供给其他开发者使用。

    题目搜索页面:

    img

    在线做题页面,支持代码编辑器、代码高亮:

    img

    题目提交列表页面:

    img

    创建题目页面,包含 Markdown 富文本编辑器、动态增删测试用例:

    img img

    项目业务流程图:

    img

    感兴趣的同学可以 免费试看 第一期项目回放:项目实战 - 鱼皮原创项目教程系列

    为什么带大家做这个项目?

    1. 资料少:OJ 系统网上几乎找不到教程
    2. 比较新颖,有亮点、有区分度(人家写外卖,你写 OJ)
    3. 能学到东西:能够学到很多传统 CRUD 开发外的知识点和编程思想
    4. 复杂度 “高”:很多同学觉得 OJ 是个很复杂的项目,一起攻克它
    5. 可扩展性强,有很多区别于 CRUD 的功能可做

    免费试看

    感兴趣的同学可以 免费试看 第一期项目回放:https://www.bilibili.com/video/BV1k841127EK

    项目特点

    该项目选题非常 新颖 ,不同于泛滥的管理系统、博客、商城,不同于只有增删改查的业务系统,本项目会基于 Docker 虚拟化技术 + 多种设计模式 ,从 0 开始手把手带大家实现一个安全的、可复用的 代码****沙箱 ,并通过 微服务架构 实现一个可扩展的在线判题系统。

    鱼皮 从 0 到 1 全程直播无剪辑 地带大家开发完成项目,总课程时长超 30 小时 !从需求分析、技术选型、系统设计、项目初始化、前后端开发,每个环节我都 从理论到实践 给大家讲的明明白白、每个细节都不放过!

    项目收获

    鱼皮给大家讲的都是通用的项目开发方法和架构设计套路,从这个项目中你可以学到:

    • 如何从设计到开发一套完整系统?
    • 如何在应用中使用 Docker 隔离程序?
    • 如何从 0 打造前端项目模板?
    • 单体项目如何改造为微服务?
    • 如何保证用户执行代码的安全?
    • 如何使用消息队列解耦程序?
    • 如何巧妙利用设计模式来优化代码?

    此外,还能学会很多作图、思考问题、对比方案的方法,提升排查问题、自主解决 Bug 的能力。

    值得一提的是,我带大家做这个项目的过程是先做完单体项目、再改造为微服务,所以哪怕你还没接触过微服务、或者时间紧急,也可以分阶段来学习~ 而且学完这个操作后,你的任何单机项目都可以升级成微服务了,不用再单独做一个微服务新项目,大幅节省时间。

    本项目适合的同学

    本项目同时适合前端和后端,是一套完整的全栈项目。

    如果你是后端,已经学习过 Java Web 开发技术,希望做一个新颖的、有亮点的、写在简历上加分的项目,学习 OJ 系统的设计实现、微服务项目的设计实现、Docker 技术的实战运用、设计模式的实战运用、提升自己的编程和架构设计能力,那么非常欢迎来学习!

    如果你是前端,最好已经学习过 Vue 或 React 框架,可以通过本项目学习到快速开发前端项目的技巧、自主编写一套前端通用模板的方法。

    技术选型

    前端

    • Vue 3
    • Vue-CLI 脚手架
    • Vuex 状态管理
    • Arco Design 组件库
    • 前端工程化:ESLint + Prettier + TypeScript
    • ⭐️ 手写前端项目模板(通用布局、权限管理、状态管理、菜单生成)
    • ⭐️ Markdown 富文本编辑器
    • ⭐️ Monaco Editor 代码编辑器
    • ⭐️ OpenAPI 前端代码生成

    后端

    • ⭐️ Java Spring Cloud + Spring Cloud Alibaba 微服务
      • Nacos 注册中心
      • OpenFeign 客户端调用
      • GateWay 网关
      • 聚合接口文档
    • Java Spring Boot(万用后端模板)
    • Java 进程控制
    • ⭐️ Java 安全管理器
    • ⭐️ Docker 代码沙箱实现
    • ⭐️ 虚拟机 + 远程开发
    • MySQL 数据库
    • MyBatis-Plus 及 MyBatis X 自动生成
    • Redis 分布式 Session
    • ⭐️ RabbitMQ 消息队列
    • ⭐️ 多种设计模式
      • 策略模式
      • 工厂模式
      • 代理模式
      • 模板方法模式
    • 其他:部分并发编程、JVM 小知识

    学员反馈

    展示部分学员的真实反馈,也欢迎星球鱼友私信星球管理或鱼皮反馈,认真完成项目会有小奖励哦 🧧!

    上岸报喜

    img img img img

    学员评价

    img img

    成品展示

    img img img img img img img img img img img img