{"id":21375189,"url":"https://github.com/lsx-s-software/homeworkchecker","last_synced_at":"2025-07-24T17:12:22.017Z","repository":{"id":119055208,"uuid":"383130409","full_name":"LSX-s-Software/HomeworkChecker","owner":"LSX-s-Software","description":"一套为高校教师设计的作业管理系统","archived":false,"fork":false,"pushed_at":"2021-07-05T12:22:15.000Z","size":165738,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-03T08:29:47.854Z","etag":null,"topics":["cpp","cross-platform","mysql","qml","qt","qtquick"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LSX-s-Software.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-07-05T12:16:18.000Z","updated_at":"2024-01-09T14:41:15.000Z","dependencies_parsed_at":null,"dependency_job_id":"cd73f2cd-5a25-4792-bdc5-f345e54b319a","html_url":"https://github.com/LSX-s-Software/HomeworkChecker","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/LSX-s-Software/HomeworkChecker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LSX-s-Software%2FHomeworkChecker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LSX-s-Software%2FHomeworkChecker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LSX-s-Software%2FHomeworkChecker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LSX-s-Software%2FHomeworkChecker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LSX-s-Software","download_url":"https://codeload.github.com/LSX-s-Software/HomeworkChecker/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LSX-s-Software%2FHomeworkChecker/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266876514,"owners_count":23999263,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-24T02:00:09.469Z","response_time":99,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cpp","cross-platform","mysql","qml","qt","qtquick"],"created_at":"2024-11-22T08:49:28.699Z","updated_at":"2025-07-24T17:12:17.004Z","avatar_url":"https://github.com/LSX-s-Software.png","language":"C++","readme":"# **作业管理系统产品文档**\n\n## Homework Checker\n\n\u003e 这是一个C++大作业项目，因水平有限、时间不充裕等原因，部分功能不够完善。\n\n## 开发者\n\n[**@NagisaCo** NagisaCo](https://github.com/NagisaCo)\n\n[**@LSX-s-Software** Sixing Lin](https://github.com/LSX-s-Software)\n\n[**@WuSiye** Siye Wu](https://github.com/WuSiye)\n\n## 编译、运行方法\n\n### Windows\n\n系统要求：\n\n- 安装Visual Studio 2019、Qt 5\n\n### Mac\n\n系统要求：\n\n- 系统版本不低于macOS 10.15（推荐11.0或以上）\n- 安装Xcode 12、Qt 6.1\n\n### 运行前准备\n\n1. 在本地或远程服务器上安装MySQL（版本不低于8.0）\n\n2. 在MySQL数据库中创建名为`homework_checker`的数据库\n\n3. 连接数据库后在`homework_checker`里导入本仓库根目录下的`Setup.sql`\n\n   ```sql\n   mysql\u003e source /some/where/Setup.sql;\n   ```\n   \n4. 在服务器上运行服务端程序\n\n5. 更新`DataManager/DataManager/DataManager.cpp`的`connectDatabase()`函数中的数据库登录信息和`UserInterface/HomeworkCheckerGUI/settingpage.cpp`中的`wsClientUrl`属性\n\n## 产品介绍\n\n| **产品定位** | 一款服务于大学教师与学生的教学辅助系统                       |\n| ------------ | ------------------------------------------------------------ |\n| **产品描述** | 教师可在此系统上布置作业、批改作业、记录成绩；学生可以通过发送邮件到特定QQ号提交作业；教师批改完毕后会将评语和成绩发送至学生的邮箱。期末时教师可以通过此系统一键导出平时成绩。 |\n| **目标人群** | 大学教师、学生，尤其是程序设计课的教师和学生                 |\n| **使用场景** | 学生提交作业、查看批改结果，教师布置作业、批改作业、记录成绩 |\n\n\n\n## 产品功能结构\n\n### **学生端**（使用QQ）\n\n- 查看教师布置的作业\n- 提交作业\n  - 文本\n  - 附件\n- 查看批改结果\n  - 成绩\n  - 评语\n\n### 教师端\n\n- 查看学生提交的作业\n- 作业打分、写评语\n- 查看、导出平时成绩\n\n- 使用数据库储存学生名单、作业、成绩\n\n\n\n## 数据结构设计\n\n### 类设计\n\n- 学生类（Student）\n  - ID\n  - 学号\n  - QQ号\n  - 班级ID\n  - 姓名\n  - 注册时间\n- 布置的作业类（Assignment）\n  - ID\n  - 教师ID\n  - 标题\n  - 描述\n  - 创建时间\n  - 截止日期\n  - 目标班级\n- 学生提交的作业类（Homework）\n  - ID\n  - 学生ID\n  - 布置的作业ID\n  - 内容URL\n  - 附件URL\n  - 成绩\n  - 评语\n- 班级类（Class）\n  - ID\n  - 教师ID\n  - 名称\n  - 上课地点\n  - 上课时间\n  - 人数\n  - 邀请码\n  - 状态\n\n### 数据库表设计\n\n- 帐号表（users）\n\n| 字段     | id   | username    | password    | type                       | avatar_url   | name        |\n| -------- | ---- | ----------- | ----------- | -------------------------- | ------------ | ----------- |\n| 数据类型 | INT  | VARCHAR(50) | VARCHAR(50) | TINYINT(1)                 | VARCHAR(100) | VARCHAR(15) |\n| 描述     |      | 用户名      | 密码        | 用户类型（0=教师，1=学生） | 头像URL      | 教师姓名    |\n\n- 布置的作业表（assignments）\n\n| 字段     | id     | teacher_id   | title       | description | start_date | deadline  | class_id   |\n| -------- | ------ | ------------ | ----------- | ----------- | ---------- | --------- | ---------- |\n| 数据类型 | BIGINT | INT          | VARCHAR(80) | TEXT        | TIMESTAMP  | TIMESTAMP | INT        |\n| 描述     |        | 布置的教师ID | 标题        | 描述        | 布置时间   | 截止时间  | 目标班级ID |\n\n- 提交的作业表（homework）\n\n| 字段     | id     | student_id | assignment_id | content_url  | attachment_url | score    | comments |\n| -------- | ------ | ---------- | ------------- | ------------ | -------------- | -------- | -------- |\n| 数据类型 | BIGINT | INT        | BIGINT        | VARCHAR(600) | VARCHAR(600)   | SMALLINT | TEXT     |\n| 描述     |        | 学生ID     |               | 作答文件URL  | 附件URL        | 成绩     | 评语     |\n\n- 班级表（classes）\n\n| 字段     | id     | teacher_id | name        | location    | time        | code    | status             |\n| -------- | ------ | ---------- | ----------- | ----------- | ----------- | ------- | ------------------ |\n| 数据类型 | BIGINT | INT        | VARCHAR(25) | VARCHAR(20) | VARCHAR(10) | CHAR(4) | TINYINT(1)         |\n| 描述     |        | 教师ID     | 名称        | 上课地点    | 上课时间    | 邀请码  | 0=未结课，1=已结课 |\n\n- 学生表（students）\n\n| 字段     | id   | school_num | qq          | class_id | name        | register_time |\n| -------- | ---- | ---------- | ----------- | -------- | ----------- | ------------- |\n| 数据类型 | INT  | CHAR(11)   | VARCHAR(15) | INT      | VARCHAR(20) | TIMESTAMP     |\n| 描述     |      | 学号       | QQ号        | 班级ID   | 姓名        | 注册时间      |\n\n\n\n## 产品界面UI设计\n\nAdobe XD设计图\n\n```\n./src/ui/教师端.xd\n```\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flsx-s-software%2Fhomeworkchecker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flsx-s-software%2Fhomeworkchecker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flsx-s-software%2Fhomeworkchecker/lists"}