ASP.NetCore+VUE 源码获取成绩管理系统(二)

雨水来了

明天是二十四节气中的雨水,希望能给干燥的春天带来新的生机,抖擞抖擞精神迎接新的一天吧。

上篇文章ASP.NetCore+VUE 实现学生成绩管理系统(一) 中,我对我开发的项目做了简单的说明,发现还是有很多小伙伴感兴趣的,那今天呢,我就把这个项目打包一下先半开源一下吧,获取方式在文末。

项目主要的设计思路

本文我先暂时说一下数据库的设计思路,界面功能的设计,下一篇再说下。

一、权限管理部分

这一块就不多说了,用的还是Blog.Core的整体思路,基于复杂策略的授权,核心声明是角色,其他的就是JWT那一套认证逻辑了,用之前的一个UML图吧,思路一致,但是这个图并不是很完整,主要还是角色表、菜单表、接口表、角色用户关系表、角色菜单关系表

(部分权限表关系图)

这里就不多说权限部分了,说了很多了,可以看我的博客园文章或者视频都行,重点说下功能模块。

二、教务管理部分

在上一篇文章中,我们说到了,教务管理,是指管理的主体,也就是班级,学生老师那一个上下文结构:

首先是学生管理:

正常来说,学生表只需要和班级表多对一就行了,我这里冗余了一下,把年级表的id也加入了进来,虽然如果要调整某个学生所在班级的话,需要把年级id也修改了,但是在查询的时候确实速度不一样的,我的设计原则还是尽量满足查询。这个因人而异,不用过多追究。

其次是课程模块:

这一部分涉及的表稍微多了起来,因为需求是某一个老师可能会带多个班级,当然,肯定是某一个年级下的多个班级,然后也可能以后带多门课程,目前只是一个老师一门课。

其中核心的CCT表,就是班级课程教师关系表,也同样的把年级表冗余了进去。

三、教学管理模块

这一模块就涉及到了成绩管理了,也是最核心的部分

这一部分核心的就是成绩的管理,ExScore是考试成绩表,分别和考试表、学生表、班级课程表、以及冗余的年级表相互关联,最终实现可以查询任一年级下的任意学生的任意一门功课的成绩,当然也为了统计方便,做了班级年级的冗余,例如可以统计某一个班级的某一科目的总分在全年级的排名等等。

四、其他部分

其他的部分有少量的注意点和优化方案,比如

入学年份如何设计?

年级表只是单纯的高一,高二,高三这三个值么?

如何统一每道题的得分分布?

还是有很多值得推敲玩味的地方,我也是研究了半个月才有所领悟,文章说的肯定很少,有机会直播的时候说说,关于直播,还是打算往后推推,目前在家办公,VPN太慢,需要先把工作处理完,见谅,这种先把Ids4视频录制了再说吧。

如何获取本项目

目前本项目还暂时没有开源,我害怕会有敏感信息,比如人名或者文件名等等,但是我前几天也处理了一下,应该没有,如果有的话,欢迎向我反馈,谢谢。

一、获取方式

在公众号聊天对话窗口内,直接回复 学生成绩系统 即可收到连接,是这样的:

二、使用过程

如果你是仅仅想用这套框架呢,很简单,直接F5运行项目即可,然后前端Vue项目,先安装依赖npm i,然后运行npm run serve即可,会自动生成简化版的系统框架数据,但是没有任何教学教务的数据

但是如果你想要看看模拟的教学数据呢,可以把.bak文件给还原到Sqlserver数据库中,然后修改后端appsetting.json中的连接字符串:

这都很简单,前提是用过我的Blog.Core项目,然后就可以看到丰富的页面了,是这样的

注意:如果某些页面提示无权限,自己在控制器上处理下就行,比如直接加上:

[AllowAnonymous]

至于代码是如何设计的,我下一篇文章会详细说说。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/311735.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

word List 30

word List 30 如果存在什么问题,欢迎批评指正!谢谢!

研发协同平台持续交付之代理服务实践

源宝导读:插件系统大大提高了系统的扩展性,有利于模块化开发。系统发布后,当我们需要对系统进行扩充,可以再不编译的情况下更新系统的插件即可。基于热拔插的软件系统提高了持续交付能力,在添加新特性的同时保持核心结…

vscode python 自动补全_利用CodeBERT,这个VS Code扩展可以自动生成Python文档字符串...

机器之心报道编辑:魔王该扩展利用可处理编程语言和自然语言的预训练模型 CodeBERT,实现快速生成 Python 文档字符串的功能。Visual Studio Code(简称 VS Code)是一个由微软开发,同时支持 Windows、 Linux 和 macOS 等操作系统的免费代码编辑器…

[蓝桥杯2016初赛]报纸页数-生活常识+思维

题目描述 X星球日报和我们地球的城市早报是一样的,都是一些单独的纸张叠在一起而已。每张纸印有4版。 比如,某张报纸包含的4页是:5,6,11,12,可以确定它应该是最上边的第2张报纸。 我们在太空中捡到了一张X星球的报纸,…

great English sentence:

great English sentence: Therefore,everyone needs to find their extra ——their unique value contribution that make them stand out in whatever is their field of emploment. 因此,每个人必须去找到独特点,这个独特点就是他们唯一的价值创造的…

2020 年 5 大 DevOps 趋势

由于高效率和较快的部署能力,DevOps 正在一步步地塑造着软件世界,并进入主流领域。而随着 DevOps 逐步成熟,它也将继续改变全球的 IT 和数字管理。为了促进各方更加了解 DevOps,并为即将到来的一切做好准备,一位名为 G…

datagridview实时更新数据_旭诺云盒|智能办公新趋势进出口数据自动提取,通关状态实时更新...

春节期间,很多公司同事都被滞留在老家无法返回公司上班,为了保证公司业务正常运转,同事之间依靠邮件、微信、QQ等工具进行文件和数据的传递,增加了很多数据整理时间。且电子口岸、单一窗口这些进出口企业频繁使用的平台&#xff0…

排名前15位的Kubernetes监控和安全工具

Kubernetes推动了竞争力的提升。如今,作为一项成熟的技术,全球各地的企业都在迅速采用基于微服务的,容器驱动的方法来交付软件。Kubernetes是行业标准。行业领导者正在帮助它如雨后春笋般发展,基于Kubernetes核心开发综合应用程序…

word List 31

word List 31 如果存在什么问题,欢迎批评指正!谢谢!

什么是python语言的动态类型机制_理解Python的Dynamic typing

Python的Dynamic typing有些类似于C语言的指针,在C中,一个变量可以指向任何地址空间,在Python中,一个变量也可以指向任何type的数据对象。变量的指向可以在程序运行过程中变化,这就是我理解的Dynamic typing。 Python是…

Asp.Net Core IdentityServer4 管理面板集成

前言IdentityServer4(以下简称 Id4) 是 Asp.Net Core 中一个非常流行的 OpenId Connect 和 OAuth 2.0 框架,可以轻松集成到 Asp.Net Core 应用中,并且与 Asp.Net Core Identity 也可以轻松集成。博客园也有大佬发布了很多关于 Id4…

数据结构---递归实现十进制装换为任意进制

数据结构—递归实现十进制装换为任意进制 代码&#xff1a; #include <stdio.h> #include <stdlib.h> #include"stack.h" stack Stack; void toAnyDigit(int n, int d) {//十进制转化为d进制if (n 0) {//递归结束的条件return;}int temp n % d;push(…

c++ string 删除字符_字符串操作的全面总结(附完整代码)

字符串操作看似简单&#xff0c;其实非常重要&#xff0c;不注意的话&#xff0c;经常出现代码运行结果和自己想要的不一致&#xff0c;甚至崩溃。本文总结了一些构建string对象方法、修改string对象的方法、string类型的操作函数、string类型的查找、string对象的比较。1 构建…

给Hangfire的webjob增加callback和动态判断返回结果功能设计

背景介绍通常业务中需要用到定时执行功能&#xff0c;我用hangfire搭建了一个调度服务&#xff0c;这个调度服务是独立于业务逻辑的&#xff0c;具体可以参考文章&#xff1a;https://github.com/yuzd/Hangfire.HttpJob/wiki也就是说只要我有了这个调度服务后&#xff0c;只要提…

C++实现双向链表

#include <iostream> using namespace std; typedef int ElemType;typedef struct DuLNode {//节点的创建ElemType data;struct DuLNode *prior, *next; } DuLNode, *DuLinkList;bool InitList(DuLinkList &L) {//初始化L new DuLNode;if (L NULL) {cout << …

word List32

word List32 如果存在什么问题&#xff0c;欢迎批评指正&#xff01;谢谢&#xff01;

spring aop实例讲解_Spring框架核心知识点

文章内容输出来源&#xff1a;拉勾教育Java高薪训练营前言&#xff1a;由于工作需要提升自身技术能力&#xff0c;在各方比较下&#xff0c;报名了拉勾教育的java高薪训练营&#xff0c;目前已经学了半个月啦&#xff0c;来说说自身学习的感受吧&#xff1a;课程内容有广度更有…

word List 33

word List 33 如果存在什么问题&#xff0c;欢迎批评指正&#xff01;谢谢&#xff01;

深入理解ASP.NET Core依赖注入

概述ASP.NET Core可以说是处处皆注入&#xff0c;本文从基础角度理解一下原生DI容器&#xff0c;及介绍下怎么使用并且如何替换官方提供的默认依赖注入容器。什么是依赖注入百度百科中对于依赖注入的定义&#xff1a;控制反转&#xff08;Inversion of Control&#xff0c;缩写…

word List 34

word List 34 如果存在什么问题&#xff0c;欢迎批评指正&#xff01;谢谢&#xff01;