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 | |
+-------------------+--------------+------+-----+---------+-------+