anatuma/UniversityTasksApi
GitHub: anatuma/UniversityTasksApi
一个基于 ASP.NET Core 和 EF Core 的大学课程作业管理 REST API,提供学生面板、作业提交、逾期检测和教师评分等完整的学术工作流管理。
Stars: 0 | Forks: 0
# 大学任务 API
这是一个基于 ASP.NET Core 构建的 REST API,用于管理大学课程、学生面板和作业提交。
它采用 **Database-First** 方法,并使用 **Entity Framework Core** 来构建学术工作流、检查选课记录并执行评分验证规则。
## 功能与业务规则
* **学生面板:** 获取完整的学生个人资料,在一个页面中展示其活跃的选课记录以及他们所有已提交/已评分的作业。
* **课程与任务探索:** 获取活跃课程列表,查看已发布的作业及其截止日期。
* **智能提交:**
* 验证只有活跃且已正确选课的学生才能提交已发布的作业。
* 验证仓库 URL。
* **自动逾期检测:** 如果在作业截止日期之后提交,会自动将提交状态标记为“逾期”(否则标记为“已提交”)。
* **评分系统:** 教师可以对提交的作业进行评分、添加反馈并执行限制(例如,分数不能为负数或超过该任务的最高允许分值)。
* **数据完整性保障:** 学生可以删除已提交的作业,但**前提是该作业尚未被评分**。
## 技术栈
* **框架:** C# / ASP.NET Core Web API
* **ORM:** Entity Framework Core (Database-First)
* **数据库:** SQL Server
* **架构:** Controller-Service-Repository 模式,并带有专用的验证层
## 快速开始
1. **数据库配置:**
由于这是一个 Database-First 项目,请确保你的 SQL Server 数据库已建立相应的数据表(`Students`、`Courses`、`Enrollments`、`Assignments`、`Submissions`)。
2. **配置:**
在你的 `appsettings.json` 文件中的 `ConnectionStrings:DefaultConnection` 下添加你的 SQL Server 连接字符串。
3. **运行应用:**
执行 `dotnet run` 或通过你的 IDE(Rider/Visual Studio)启动它。打开 Swagger UI 来测试作业提交、评分以及查看学生面板!
标签:ASP.NET Core, Entity Framework Core, REST API, SQL Server, 作业管理, 教育系统