This is the backend service for the campus-hub online. The aim of campus-hub is offering an public lecture resource sharing platform. You can choose to public your lecture resource for multiple formats including .pdf, .avi, ppt etc. The cloud AI Assist would reading those information and help customers learning effectively.
在教育行业,教学体系的组织通常涉及以下层次的结构,这些结构可以有不同的命名,但一般都包含了类似的概念:
- 教学大类(Disciplines):这是最高层次的分类,涵盖广泛的学科领域。例如,工程学(Engineering)、物理学(Physics)、计算机学科(Computer Science)等。
- 学科类别(Departments):在每个教学大类下,有更具体的学科类别。例如,在计算机学科中,可以有软件工程、数据科学等学科类别。
- 专业(Programs):在学科类别下,可以进一步细分为专业。专业通常是一组相关的课程,构建了学生在特定领域的专业知识。
- 课程(Courses or Lectures):在专业中,课程是教学的基本单位。每门课程通常涵盖特定的主题,教学内容,并为学生提供相关的学分。有时,“Lecture” 一词用于表示一节课程中的单一教学讲座。
- 章节(Chapters):在每门课程内部,内容可能会被组织为不同的章节,每个章节涵盖特定的主题或概念。这样的组织有助于学生更好地理解和组织学科知识。
这是一个一般性的组织结构,具体的学校或教育机构可能会有一些差异。同时,一些机构可能使用不同的术语,例如,有些地方可能称之为 "Modules" 而不是 "Chapters"。总体而言,这种层次结构有助于组织教育资源、为学生提供清晰的学习路径,并确保教学内容的系统性和逻辑性。
因此我们将这里的层级划分为以下几个层级:
Disciplines >> Courses >> Chapters
舍弃 Department 和 Programs 的原因在于这两个级别会导致整个层级过于复杂,我将通过 Tag 的方式来实现这两个层级的标注,这样也利于交叉学科融合学科的标明。
type (
Lecture struct {
ID int64
Name string
// Publisher The contribution Team or person.
// TODO create struct for it.
Publisher string
License string
// LectureVersion, defined the version of lecture
// example: `23 fall`, `24 spring`, `2023`, `2024`.
Version string
TimestampedModel
// Lecture Description, including four parts.
// only `Overview` is required, others are optional.
// LectureDesc struct {
// Overview string
// Prerequisites string
// CourseGoals string
// FollowupCourses string
// }
ChapterList []Chapter
// TODO Lecture Notice
// NoticeList []Notice
}
Chapter struct {
ChapterID int64
ChapterName string
ResourceCollection []Resource
}
)Vitepress中使用markdown渲染时间轴 - 掘金 (juejin.cn)
fighting-design/README.zh-CN.md at master · FightingDesign/fighting-design (github.com) 快速上手 | Fighting Design (tianyuhao.cn) 快速开始 | cz-git (qbb.sh) Zhengqbbb/cz-git: cz-git | czg 🛠️ DX first and more engineered, lightweight, customizable, standard output format Commitizen adapter and CLI (github.com) LetTTGACO/elog: Markdown 批量导出工具、开放式跨平台博客解决方案,随意组合写作平台(语雀/Notion/FlowUs/飞书)和博客平台(Hexo/Vitepress/Halo/Confluence/WordPress等) (github.com) 快速开始 | Yuque-VitePress yuque-vitepress/utils/assists.ts at master · LetTTGACO/yuque-vitepress (github.com)
十分钟教会你如何使用VitePress搭建及部署个人博客站点 - 掘金 (juejin.cn)
Material Symbols and Icons - Google Fonts
PWA Automatic reload | Guide | Vite PWA (vite-pwa-org.netlify.app)
markdown-it-wikilinks - npm (npmjs.com)
- 基本架构
- 课程模块
- Show: Query Course
->ID/Name - List: Query Courses
->Name Match/Regex/Disciplines/Lecturer/Tags - Remove: Delete Course by ID
- Create: Create Course.
- Update: Update Course By ID.
- Show: Query Course
- 资源模块
- 储存方式接口化
- OSS
- 本地
- 储存方式接口化
+----+---------+-------------------+-------------+------------+--------------+-----------+------------+------------+-----------+-----------------------------------------+
| ID | Name | ContributorTeamID | Discipline | License | Origination | Version | CreatedAt | UpdatedAt | DeletedAt | ResourceAddr |
+----+---------+-------------------+-------------+------------+--------------+-----------+------------+------------+-----------+-----------------------------------------+
| 1 | Course1 | 1 | Discipline1 | MIT | Origination1 | 23 fall | 1702980457 | 1702980457 | NULL | cdn.campus-hub.online/resource/course/1 |
| 2 | Course2 | 1 | Discipline2 | Apache 2.0 | Origination2 | 24 spring | 1702980457 | 1702980457 | NULL | cdn.campus-hub.online/resource/course/2 |
| 3 | Course3 | 1 | Discipline3 | MIT | Origination3 | 1.0 | 1702980457 | 1702980457 | NULL | cdn.campus-hub.online/resource/course/3 |
+----+---------+-------------------+-------------+------------+--------------+-----------+------------+------------+-----------+-----------------------------------------++-------------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------------+--------------+------+-----+---------+-------+
| ID | bigint | NO | PRI | NULL | |
| Name | varchar(255) | NO | | NULL | |
| ContributorTeamID | bigint | YES | | NULL | |
| Discipline | varchar(255) | YES | | NULL | |
| License | varchar(255) | YES | | NULL | |
| Origination | varchar(255) | YES | | NULL | |
| Version | varchar(255) | YES | | NULL | |
| CreatedAt | bigint | YES | | NULL | |
| UpdatedAt | bigint | YES | | NULL | |
| DeletedAt | bigint | YES | | NULL | |
| ResourceAddr | varchar(255) | YES | | NULL | |
+-------------------+--------------+------+-----+---------+-------+