[Student.Achieve] 学生教务管理系统开源

(源自:https://neters.club)

一觉醒来Github改版了,我个人还是挺喜欢的????。

还有两个月就是老张做开源两周年了,时间真快,也慢慢的贡献了很多的开源作品,上边的是主要的七个作品,总star数约3500,虽称不上精品,而且有时候被感觉很low,只能做初学者的入门教程,不适合进大雅之堂,who cares????。

趁着这个时间,最终还是打算把春节期间开发的学生成绩管理系统开源吧。

(地址:https://github.com/anjoy8/Student.Achieve.Manager),

这个是挺粗糙的一个项目,但是完善完善还是可以用在真实的生产环境的,这其实是我的真实项目的第一期,相关的介绍呢,以前写过两篇文章,姑且看之:

ASP.NetCore+VUE 实现学生成绩管理系统(一)

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

今天不讲内容,只是说下开源后的几个问题点。

1、项目可取之处

毕竟是老张出品,还是有些可取之处的:

后端设计

后端   Student.Achieve.ApiBlog.Core  项目的迷你精简版,功能很少:

0、ASP.NET Core 2.2 (后期如果start超过50+,我再升级到 3.1 版本吧)
1、(展示层 + 仓储 + 接口)的分层设计;
2、使用SqlSugar ORM 并初始化DB数据;
3、Automapper 实现对象映射;
4、CORS 实现跨域(用来支持IIS部署);
5、Swagger 提供文档说明;
6、JWT 实现自定义策略授权认证;
7、Autofac 作为依赖注入容器,提供程序集批量注册;
8、支持上传 Excel 做数据导入;
9、Log4net 负责日志处理;
10、支持事务提交;

※、核心的还是教学教务系统的结构设计:


前端设计

前端   Student.Achieve.UIBlog.Admin  项目的使用版本,有一定的出入:

0、Vue 2 + Ele UI
1、Router 路由
2、Axios 数据请求;
3、Automapper 实现对象映射;
4、动态路由 + 导航条;
5、提供上传功能;
6、JWT 实现自定义策略授权认证;
7、Autofac 作为依赖注入容器,提供程序集批量注册;
8、支持上传 Excel 做数据导入;
9、核心的还是教学教务系统:学生+教师管理、课程管理、授课管理、考试管理、
成绩管理等等;

业务逻辑

除了基本的学生老师课程这种老生常谈的问题之外,重点对成绩的排名有一定的了解,比如什么是正负分,什么是3+3、3+6、9,什么是选科成绩分布等等,当然这些东西都是需求文档,只要你有这方面的工作,肯定也会有别人提供给你的。

借鉴指数 ⭐⭐⭐⭐

总体来看,还是偏向于初学者快速入手,并且能进一步对学生管理系统的业务逻辑有一定的了解和认识,高手肯定是一眼就能看明白。

2、有哪些弊端

既然是个人产品,肯定有很多问题,这里简单说一下:

1、框架2.2

目前还是ASP.Net Core2.2版本,功能很少也不够优美,虽然用的内容也不多,不过肯定更新到3.1更好,这个看使用的人数吧,如果star超过50,我就加加班升级下。

当然,我这里鼓励粉丝自己作为练手项目,帮忙升级,可以加入到共同开发里,也可以作为自己合作开发。

2、多表查询问题

当时我偷懒没有做多表的联合查询,还是用的最普通的,将所有的数据都查出来,然后做数据筛查处理,这样肯定在数据多的适合,不太好,如果star超过100,我就搞个2.0版本,把多表联查改一改吧,毕竟如果没人用,我也不能浪费太多的时间。

还是那句话,鼓励粉丝一起动手。

其他可能的弊端就是功能不够丰富吧,毕竟是免费的,还想啥呢。

总体下来,个人推荐指数 3 颗星,想用就用,感觉不好就权当是个demo吧,一笑而过即可。

????:开源地址【阅读原文】

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

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

相关文章

d叉堆实现优先队列

d叉堆实现优先队列 时间复杂度 dlog&#xff08;d,n) #include <stdexcept> #include <iostream> class DForkHeapPriorityQueue { private:int capacity;int *array;int d;int heap_size; public:DForkHeapPriorityQueue(int capacity,int d);DForkHeapPriority…

.NET Core HttpClient源码探究

前言在之前的文章我们介绍过HttpClient相关的服务发现&#xff0c;确实HttpClient是目前.NET Core进行Http网络编程的的主要手段。在之前的介绍中也看到了&#xff0c;我们使用了一个很重要的抽象HttpMessageHandler&#xff0c;接下来我们就探究一下HttpClient源码&#xff0c…

Young氏矩阵

Young氏矩阵 利用堆思想实现Young氏矩阵 #include <iostream> class YoungTableau {private:int *array;int row;int column;int heap_size; public:YoungTableau

Java 多线程:线程优先级

1 优先级取值范围 Java 线程优先级使用 1 ~ 10 的整数表示&#xff1a; 最低优先级 1&#xff1a;Thread.MIN_PRIORITY 最高优先级 10&#xff1a;Thread.MAX_PRIORITY 普通优先级 5&#xff1a;Thread.NORM_PRIORITY 2 获取线程优先级 public static void main(String[]…

《Unit Testing》1.1 -1.2 单元测试的目的

本系列是《Unit Testing》 一书的读书笔记 精华提取。书中的例子 C# 语言编写&#xff0c;但概念是通用的&#xff0c;只要懂得面向对象编程就可以。 单元测试当前的状态目前&#xff0c;在&#xff08;美国的&#xff09;大部分公司里&#xff0c;单元测试都是强制性的。生产…

算法-排序-快速排序(包含多种快速排序)

快速排序 特点&#xff1a;原址排序&#xff0c;最坏的时间复杂度O&#xff08;n^2) 平均时间复杂度O&#xff08;nlgn&#xff09; 比归并排序系数常数项小 不稳定 底部有最坏时间复杂度为Ω(nlgn)的快速排序地址 void quick_sort(int *array,int start,int end); int parti…

Java Exception

Exception 异常捕获 将代码块选中->ctrlaltt->选中try-catch 01: public class Exception01 {public static void main(String[] args) {int n1 10;int n2 0;try {int res n1/n2;} catch (Exception e) { // e.printStackTrace();System.out.println(e.…

《Unit Testing》1.3 使用覆盖率指标来度量测试套件的好坏

使用覆盖率来度量测试套件&#xff08;Test Suite&#xff09;的质量有两种比较流行的测试覆盖率的度量方法&#xff1a;代码覆盖率分支覆盖率覆盖率度量会显示一个测试套件&#xff08;Test Suite&#xff09;会执行多少代码&#xff0c;范围从 0 至 100%。除了上述两种方法之…

对区间的模糊排序

对区间的模糊排序 算法导论第三版第二部分7-6题 Interval find_intersection(vector<Interval> &array,int start,int end) {int random random_include_left_right(start,end);Interval key array[end];array[end] array[random];array[random] key;key arra…

Linux创始人:v5.8是有史以来最大的发行版之一

导语Linux v5.8已经修改了所有文件的20&#xff05;&#xff0c;是迄今为止变化最大的一次发行版。正文Linux创始人Linus Torvalds表示&#xff1a;Linux内核5.8版是“我们有史以来最大的发行版之一”。如果一切顺利&#xff0c;Linux v5.8稳定版应该在2020年8月的某个时候出现…

算法-排序-计数排序(包含对非负数和整数的排序)

计数排序 时间复杂度O&#xff08;n&#xff09; 特点&#xff1a;稳定 限制&#xff1a;对0到maximum中的数进行排序 maximum要求&#xff0c;比数组中最大值大或者相等 有拓展版本的计数排序&#xff08;在文章基数排序内&#xff09; 基数排序链接 void counting_sort(int…

[高等数学]这你不背?

求导及求微分的基本公式: 泰勒中值定理: 麦克劳林公式: 不定积分公式: 凑微分: 第二类换元积分法常用的三种情况: 求高阶导数的几个公式: 二阶常系数非齐次线性微分方程的特解: 排列组合公式: C的计算&#xff1a; 下标的数字乘以上标的数字的个数,且每个数字都要-1.再除以上标…

怎么开会才不浪费时间?

这里是Z哥的个人公众号每周五11&#xff1a;45 按时送达当然了&#xff0c;也会时不时加个餐&#xff5e;我的第「148」篇原创敬上大家好&#xff0c;我是Z哥&#xff0c;先祝大家端午节日快乐。节日期间就发篇比较短的文章吧。人在职场混&#xff0c;开会应该是本职工作之外花…

在O(1)的时间内计算n个整数落在区间[a,b]的个数(预处理时间为O(n+k))

在O&#xff08;1&#xff09;的时间内计算n个整数落在区间[a,b]的个数 预处理时间为O&#xff08;nk) 算法导论第三版8.2-4题 int find_inverter_count(int *array,int length,int maximum,int inverter_left,int inverter_right) {if(inverter_left<0 || inverter_right…

汇编语言中常见的标志位: CF, PF, AF, ZF, SF,TF,IF,DF, OF

一、运算结构标志位 1.CF(进位标志位)&#xff1a;主要用来反映运算是否产生进位或借位&#xff0c;产生进位或借位则CF1&#xff0c;否则CF0。 2.PF(奇偶标志位)&#xff1a;用于反映运算结果中“1”的个数的奇偶性&#xff0c;如果“1”的个数为偶数&#xff0c;则PF1&…

算法-排序-基数排序(对任意整数排序)

基数排序 时间复杂度&#xff1a;Θ(d(nk)) d&#xff1a;元素的位数&#xff0c;k元素中每位数的取值区间大小 非原址排序 1⃣️特点该排序只能每次为基数为1位数进行排序 void radix_sort(int *array,int length,int digits){vector<KeyValuePair> temp_array(length…

.NET 5.0预览版6发布:支持Windows ARM64设备

2020年6月25日&#xff0c;微软dotnet团队在博客宣布了第六个 .NET 5.0 的预览版&#xff1a;https://devblogs.microsoft.com/dotnet/announcing-net-5-0-preview-6/&#xff0c;在改进性能的同时增加了一些新的功能。ASP.NET Core和 EF Core也将于今日发布了。注意&#xff1…

利用真值表法求取主析取范式以及主合取范式的实现(C++)

代码如下: #include <iostream> #include <stack> #include <string> #include <vector> using namespace std; const int N 300; stack<char> s; stack<char> v; int seq; bool vis[N]; bool flag[N]; void dfs(int n); vector<int&…

基于 Blazor 开发五子棋小游戏

今天是农历五月初五&#xff0c;端午节。在此&#xff0c;祝大家端午安康&#xff01;端午节是中华民族古老的传统节日之一。端午也称端五&#xff0c;端阳。此外&#xff0c;端午节还有许多别称&#xff0c;如&#xff1a;午日节、重五节、五月节、浴兰节、女儿节、天中节、地…