项目名称: MyKCourse
项目描述: MyKCourse在线课程申请及审批系统,通过此系统,学生可以申请所需的课程,而教师可以审批这些申请。系统简化了课程管理和审批流程,提高了效率。
作者: DiamondMyK
项目链接: MyKCourse
MyKCourse在线课程申请及审批系统,旨在简化学生课程申请流程并提供教师审批功能。学生可以轻松登录系统,选择所需的课程并提交申请,同时可以跟踪申请的审批进度。教师拥有不同的角色,包括课程主讲教师和主管教师,他们负责审批学生的申请。系统还提供了额外的功能,包括用户管理、审批流程的自定义设置和审批记录查询。项目的设计考虑了兼容性、可用性和持续集成,以确保系统满足现有需求并具备未来发展的能力。这个系统将帮助学校或教育机构更有效地管理课程申请和审批流程,提高了学生和教师的体验。
在线课程申请模块功能:
-
学生登录功能
- 已有账号学生可以在线登录到申请系统中。
- 用户账户数据可预先存储到数据库中.
-
在线申请功能
- 学生登录后,在可选课程列表中,选择要申请的课程。
- 每次申请只能选择一门课程,不可重复申请。
- 申请课程时,应填写必要的申请信息,如申请原因和上传证明等。
- 课程详细数据可预先存储到数据库中.
-
已申请课程,审批进度查询功能
- 审批过程中的申请可以进行进度查询。
- 审批状态有:申请已提交、课程主讲教师审批中、课程主管教师审批中、审批成功、申请驳回。
- 审批结束后,学生可以点击确认,完成本次申请。
- 结束本次申请后,在进度查询功能中不能再看到该条申请信息。
- 被驳回的申请的课程可线下沟通后再次重新提交新的申请.
-
已申请课程审批记录查询功能
- 学生可查询本人已申请的全部记录,包括审批通过和驳回的记录。
- 申请记录可使用分页显示,可使用多条件查询.
在线审批模块功能:
-
课程申请审批功能
- 已有教师角色账号的教师可登录审批功能.
- 教师角色用户细分为:课程主讲教师和主管教师,主讲教师为该门课程的第一审批人,主管教师为第二审批人.
- 具体课程的主讲和主管教师对应关系数据,可预先存储到数据库中.
- 如果已提交的申请不符合申请条件,可以驳回,但驳回必须填写具体的原因,以便学生再次提交新的申请.
-
已审批申请查询功能
- 教师可查询已审批的申请,查询结果可使用分页显示,可使用多条件查询.
额外功能:
-
系统后台
- 系统用户管理、课申请课程管理、用户审批权限管理(课程与审批教师关系)、审批记录查询、导出已审批通过记录等功能.
-
创建审批流
- 可根据具体要求,动态创建课程审批流程,可动态指定不同类别课程的审批步骤及审批人.
拓展需求:
- 适应兼容性,系统应使用持久化层框架(MyBatis)。
- 适应通用性,系统应采用MVC设计模式。
- 适应持续集成,系统应采用容器部署(Docker)。
- 适应可用性,系统界面需布局合理,用户使用方便快捷,用户体验好。
- 适应健壮性,系统应充分考虑运行期间的各种异常情况并加以处理,保证运行时不出现异常或业务逻辑错误等重大问题。
-
MyBatis持久化框架:使用MyBatis来处理数据持久化,降低了代码的耦合性,提高了系统的兼容性和稳定性。MyBatis的轻量级特性和对多种数据库的支持使得系统更具灵活性。
-
Docker容器化部署:可采用Docker容器化技术,系统的部署和运维变得更加简单,同时支持持续集成。容器化部署可以提高开发效率,确保不同环境下的代码运行一致。
-
Layui前端框架:使用Layui作为前端框架,加速了前端开发流程,使得前端页面的设计更加高效,开发者能够更专注于业务逻辑的实现,而不必过多关注前端细节。
-
自定义工具类:使用自定义工具类,如DBUtil、EncodingUtil、MD5Util和StatusEnum,提高了开发效率、代码复用性、可维护性。这些工具类解决了特定问题,使得开发过程更加便捷,同时保证系统的安全性和可读性。
在开始安装项目之前,请确保您的开发环境中已经安装了以下依赖项:
- 集成开发工具(IDE):我们建议使用IntelliJ IDEA,但您也可以选择其他适用的IDE。
- Java Development Kit (JDK):项目需要JDK,用于编译和运行Java代码。请安装JDK 1.8或更新的版本。
- 数据库:需要安装MySQL,用于存储项目的数据。
- 操作系统:支持Windows操作系统,或其他适用的操作系统。
- Web服务器:使用Apache Tomcat作为Web服务器,用于部署和运行项目。
以下是安装项目的步骤:
-
下载项目代码:获取项目的源代码。您可以通过项目的版本控制系统(如Git)获取代码,或者下载项目的ZIP压缩文件。将项目代码解压到本地目录。
-
导入项目:在您的集成开发工具中导入项目。在使用IntelliJ IDEA的情况下,选择“File” -> “Open” -> 选择项目的根目录 -> 单击“OK”以打开项目。
-
配置数据库:在MySQL中创建一个新的数据库,并在项目的配置文件中指定数据库连接信息。通常,数据库连接信息位于项目的
src/main/resources/application.properties
文件中。确保在配置文件中提供正确的数据库URL、用户名和密码。 -
构建项目:使用IDE的内置Maven工具来构建项目的依赖。右键单击项目,选择“Maven” -> “Reload Project”以更新依赖。然后,单击“Build” -> “Build Project”以构建项目。
-
部署项目:将项目部署到Apache Tomcat中。在IntelliJ IDEA中,右键单击项目,选择“Run” -> “Edit Configurations”,然后单击“+”按钮创建一个新的Tomcat配置。配置Tomcat服务器路径,并在“Before launch”部分添加“Build”操作。保存配置后,单击“Run”以启动Tomcat服务器。
-
访问项目:一旦Tomcat服务器启动,您可以在Web浏览器中访问项目。默认情况下,项目应该可以通过
http://localhost:8080/your-artifact-id
访问,其中your-artifact-id
是项目的Artifact ID。
以下是一个示例的项目访问步骤:
- 在Web浏览器中输入 http://localhost:8080/course ,其中
course
是项目的Artifact ID。 - 项目的首页应该在浏览器中显示,您可以开始使用在线课程申请及审批系统。
请注意,实际项目的具体步骤可能会根据项目的结构和需求而有所不同。确保按照项目的文档和README文件来进行安装和配置。
- 启动Tomcat服务器并确保项目已经部署。
- 在Web浏览器中输入 http://localhost:8080/course (具体URL可能因部署配置而异)以打开项目的首页。
- 在项目首页,您可以看到登录界面。请使用您的学生账号登录。如果尚未拥有账号,请联系管理员创建。
- 在成功登录后,您将被重定向到申请课程页面。选择您想要申请的课程,填写必要的申请信息,例如申请原因和上传证明。
- 单击“提交申请”按钮。您的申请将被记录在系统中,且您可以随时查询申请进度。
- 单击页面上的“查询进度”选项卡,您将看到您的申请历史记录。
- 这里您可以查看所有以前的申请,包括已批准和被驳回的。还可以使用筛选条件来查找特定的申请记录。
- 教师角色用户(课程主讲教师或主管教师)可登录审批功能。使用教师账号登录。
- 在审批页面,您将看到待审批的申请列表。选择要审批的申请,然后单击“审批通过”或“驳回”按钮。
- 如果选择驳回,必须提供具体的驳回原因以便学生修改并重新提交。
- 教师可以单击页面上的“查询已审批”选项卡,以查看已经审批的申请记录。
- 这里您可以查看和过滤已经审批的申请。
项目还提供了以下其他功能:
- 系统后台:管理员用户可以管理系统用户、课程和审批权限。
- 创建审批流:动态创建课程审批流程,指定不同类别课程的审批步骤和审批人。
以下是一些示例用法和命令:
- 登录系统:打开浏览器,输入URL http://localhost:8080/course ,然后使用您的学生账号登录。
- 提交申请:登录后,选择要申请的课程,填写申请信息,单击“提交申请”按钮。
- 查询申请进度:单击“查询进度”选项卡,查看申请进度。
- 审批申请:使用教师账号登录,选择待审批的申请,然后单击“审批通过”或“驳回”按钮。
- 查询已审批申请:单击“查询已审批”选项卡,查看已审批的申请记录。
请根据项目的实际部署和配置以及您的角色执行上述操作。确保按照项目文档和管理员提供的具体信息进行操作。
- 请确保使用的浏览器支持项目的前端框架(如Layui)以获得最佳用户体验。
- 如果遇到问题或需要进一步的帮助,请联系系统管理员或开发团队。
我们欢迎和鼓励开发者为项目做出贡献。如果您想参与贡献,可以遵循以下步骤:
- 克隆项目的代码仓库到您的本地开发环境。
- 创建一个新的分支以进行您的开发工作:
git checkout -b 新分支名称
- 进行您的修改和开发工作。
- 提交您的更改:
git commit -m "描述您的更改"
- 推送您的分支到项目的远程代码仓库:
git push origin 新分支名称
- 提交 Pull Request:在项目的代码仓库中创建一个 Pull Request,描述您的更改和解释其目的。
- 等待审查和反馈:其他项目维护者将会审查您的 Pull Request,并可能提供反馈或建议。
- 合并您的更改:一旦您的 Pull Request 被审阅并通过,它将会被合并到主分支。
请阅读贡献文件CONTRIBUTING.md以获取更多信息。
请确保遵循项目的贡献准则和代码风格。感谢您的贡献!
MyK在线课程申请及审批系统是一款开源软件,使用的是位于LICENSE.md中的MIT许可证。请阅读许可证文件以获取更多信息。
如果您有任何关于项目的问题或建议,请随时联系我们:
- 电子邮件:[email protected]
- GitHub:DiamondMyK 的 GitHub 账户
我们要特别感谢以下人员或组织对本项目的贡献和支持:
他们的工作和反馈对项目的改进和发展起到了重要作用。