> # ♻️ 资源
> **大小:** 38.3MB
> **文档链接:**[**https://www.yuque.com/sxbn/ks/100010105**](https://www.yuque.com/sxbn/ks/100010105)
> **➡️ 资源下载:**[**https://download.csdn.net/download/s1t16/87280625**](https://download.csdn.net/download/s1t16/87280625)
> **注:更多内容可关注微信公众号【神仙别闹】,如当前文章或代码侵犯了您的权益,请私信作者删除!**
> ![qrcode_for_gh_d52056803b9a_344.jpg](https://cdn.nlark.com/yuque/0/2023/jpeg/2469055/1692147256036-49ec7e0c-5434-4963-b805-47e7295c9cbc.jpeg#averageHue=%23a3a3a3&clientId=u8fb96484-770e-4&from=paste&height=140&id=u237e511a&originHeight=344&originWidth=344&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=8270&status=done&style=none&taskId=ud96bf5f7-fe85-4848-b9c2-82251181297&title=&width=140.1999969482422)
# 学习助手
## 1 功能设计
### 1.1 项目背景
如今,随着高等教育改革和“双一流”学校建设持续推进,大学生面对更高的课程考核要求,更多的实践学习项目和更频繁的团队合作。这样的现状要求大学生具有更强的时间管理能力、规划能力和团队协调能力。与此同时,大学学习有很大一部分需要学生发挥主观能动性自行探索。然而,在现实中普遍存在同学们有问题但却羞于问出口的情况;而同学们收集的学习资料、整理的学习心得也没有机会在同学间交流,形成了一个原子化的隔离状态,失去了共同学习的机会。基于此,我们目标开发一套具有日程管理、小组分工、匿名博客功能在内的校园学习社交平台。
在校园网站,同学们可以通过添加DDL(Deadline)到日程规划中对未来时间的分配有清晰的规划。可以在每日日程中标记今天的各项学习生活日程完成情况;可以创建小组,建立小组任务,并将小组任务分解为子任务进行分配,分配到组员中的任务将自动进入组员的日程规划;可以发表博客,发表评论,选择向自己的朋友公开自己在博客中的身份。这样,同学们就可以借助日程、小组等功能合理规划学习与日常生活,可以通过匿名博客提出学习疑问、分享学习心得、或者简单分享今天的心情。在济忆校园,同学们可以收获明晰的时间管理,也可以收获一个共同学习的秘密花园。济忆校园为同学们提供了科学规划时间,互助共同学习的功能,让学习在”内卷时代“回归学习本质。
### 1.2 网站功能
经过讨论,网站的功能分为基本模块、博客模块、日程模块与小组模块四个部分,每个初步设计的功能如下:
基本模块:注册、登录、修改密码、申请添加好友、通过好友申请、删除好友;
博客模块:发表博客、更改博客、删除博客、按页查看平台所有博客、按好友查看好友博客、发表评论、删除评论、收藏博客;
日程模块:查询日程、添加日程、完成确认;
小组模块:新建小组、查询小组、加入小组、添加小组任务、分配小组任务、分配任务添加至个人日程。
## 2 数据库设计
根据功能需求,抽象出以下实体以及实体之间的联系,绘制出ER图:
![数据库ER图.png](https://cdn.nlark.com/yuque/0/2023/png/2469055/1703041007099-1e24496a-3626-4654-9f92-d6fe502ebb12.png#averageHue=%23ebebeb&clientId=u6063920a-e221-4&from=paste&height=933&id=u34686289&originHeight=1166&originWidth=1412&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=368989&status=done&style=none&taskId=ufde5ef2a-c9ef-45d2-957f-c86b632de4e&title=&width=1129.6)
在本项目中,利用Django的对象关系映射(ORM)模块,使用类和对象对数据库进行操作。具体来说,也就是Django的MVT模式中的模型(Model),模型准确且唯一的描述了数据。它包含储存的数据的重要字段和行为。一般来说,每一个模型都映射一张数据库表。每个模型都是一个Python的类,这些类继承`django.db.models.Model`,模型类的每个属性都相当于一个数据库的字段。
对于该网站的实体、联系以及实体中各字段的说明如下:
### 2.1 用户(User,Profile)
学/工号(username):由于系统服务于同济师生,该字段为最长为7个字符的字符串;
邮箱地址(email):用户的邮箱地址,用于登录;
密码(password):用户的密码,Django实现密码的哈希加密;
姓名/昵称(name):用户自定义的昵称,最大长度为10个字符;
性别(gender):用户的性别,包括M(男性)与F(女性);
用户类型(type):包括S(学生)与T(教师);
班级(class_name):用户所在的班级名称或院系,允许空。
值得注意的是,Django中有现成User类,只需要`from django.contrib.auth.models import User`。该类中,有属性`id`作为主键,且每个用户具有唯一的属性`username`,故将该属性作为学/工号。另外,对于Django自带的User类中未提供的字段,我们采取新建Profile类、将其和User建立一对一关系的方法实现。
### 2.2 小组(Group)
小组序号(id):小组的序号,是Django自建的主键;
小组名称(group_name):小组的名称,最大长度为20个字符;
小组种类(type):小组的种类,最大长度为20个字符;
组长(leader):小组的组长,以用户(User)为外键。
小组与用户是多对多的关系,即一个用户可以在多个小组,一个小组可以有多个用户。Django在根据定义的类进行建表时,会建立一张存储小组与成员关系的表。
### 2.3 用户日程(Schedule)
日程序号(id):日程的序号;
日程描述(description):对于日程的描述,最大长度为50个字符;
日程类型(type):日程类型,例如学习类、运动类等,最大长度为5个字符;
是否重复(is_repeated):日程是否需要按周期重复,例如每天、每周、每月;
重复周期(repeat_cycle):包括D(每天)、W(每周)与M(每月), 允许空;
开始时间(start_time)、截止日期(deadline):日程的开始时间和截止日期;
权重(weight):日程的重要程度;
预计所需时间(expected_minutes_consumed):预计完成该日程需要花费的时间,以分钟为单位,允许空;
是否完成(is_done):布尔类型,该日程是否完成。
用户与用户日程是一对多的关系,因此添加属性用户(user)。
### 2.4 小组任务(GroupAssignment)
任务序号(id):任务的序号;
任务描述(description):对于任务的描述;
截止日期(deadline):任务的截止日期。
小组与小组任务是一对多的关系,因此添加属性小组(group)。
### 2.5 子任务(SubAssignment)
子任务是对小组任务的分解,将小组任务分解给每位小组成员。
子任务序号(id):作业的序号;
前置子任务(pre_sub_assignment):为了完成该任务所需要的前置子任务,字符串类型;
用户(user):负责完成该任务的小组成员;
任务描述(description):对于子任务的描述;
截止日期(deadline):子任务的截止日期;
权重(weight):子任务的重要程度;
预计所需时间(expected_minutes_consumed):预计完成该子任务需要花费的时间,以分钟为单位,允许空。
任务与子任务是一对多的关系,因此添加属性任务(assignment)。
### 2.6 博客(Blog)
博客序号(id):博客的序号,是Django自建的主键;
用户(user):博客的作者;
标题(title):博客的标题,最大长度为50个字符;
内容(content)、浏览量(pageview)、收藏量(collect_amount)、创建时间(created_time)、修改时间(modified_
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
详情介绍:https://www.yuque.com/sxbn/ks/100010105 前端整体使用Bootstrap框架,使用JavaScript、Jquery实现响应式布局和动态效果,后端主要使用Django(版本为2.0)搭建框架。 网站的功能分为基本模块、博客模块、日程模块与小组模块四个部分,每个初步设计的功能如下: 基本模块:注册、登录、修改密码、申请添加好友、通过好友申请、删除好友; 博客模块:发表博客、更改博客、删除博客、按页查看平台所有博客、按好友查看好友博客、发表评论、删除评论、收藏博客; 日程模块:查询日程、添加日程、完成确认; 小组模块:新建小组、查询小组、加入小组、添加小组任务、分配小组任务、分配任务添加至个人日程。
资源推荐
资源详情
资源评论
收起资源包目录
基于Python+MySql实现(Web)校园学习助手网站【100010105】 (1840个子文件)
bootstrap.css 191KB
bootstrap.rtl.css 191KB
Study_Helper.css 168KB
bootstrap.rtl.min.css 152KB
bootstrap.min.css 152KB
all.css 72KB
fontawesome.css 70KB
bootstrap-grid.rtl.css 69KB
bootstrap-grid.css 69KB
bootstrap-utilities.css 67KB
bootstrap-utilities.rtl.css 67KB
all.min.css 58KB
fontawesome.min.css 57KB
bootstrap-grid.rtl.min.css 50KB
bootstrap-grid.min.css 50KB
bootstrap-utilities.min.css 50KB
bootstrap-utilities.rtl.min.css 50KB
v4-shims.css 40KB
v4-shims.min.css 26KB
svg-with-js.css 8KB
svg-with-js.min.css 6KB
bootstrap-reboot.css 6KB
bootstrap-reboot.rtl.css 6KB
bootstrap-reboot.rtl.min.css 5KB
bootstrap-reboot.min.css 5KB
regular.css 734B
brands.css 732B
solid.css 727B
regular.min.css 677B
brands.min.css 675B
solid.min.css 669B
fa-solid-900.eot 198KB
fa-brands-400.eot 131KB
fa-regular-400.eot 33KB
.gitattributes 66B
.gitignore 45B
groups_admin.html 14KB
friends_admin.html 14KB
home.html 13KB
home.html 13KB
home.html 12KB
home.html 12KB
friend.html 11KB
hot.html 11KB
blog.html 7KB
modify.html 4KB
add.html 4KB
add_sub_assign.html 4KB
add_schedule.html 4KB
add_assign.html 4KB
login.html 3KB
pwd_change.html 3KB
register.html 3KB
welcome.html 2KB
jiatu.jpg 10.47MB
xzbg.jpg 6.8MB
long.jpg 3.25MB
welcome.jpg 1.9MB
bg.jpg 1.76MB
bdbg.jpg 1.75MB
rcbg.jpg 1.69MB
all.js 1.2MB
all.min.js 1.14MB
solid.js 606KB
solid.min.js 593KB
Chart.bundle.js 566KB
brands.js 445KB
brands.min.js 437KB
Chart.js 419KB
jquery.js 282KB
jquery.slim.js 230KB
Chart.bundle.min.js 221KB
bootstrap.bundle.js 203KB
Chart.min.js 169KB
bootstrap.js 145KB
bootstrap.esm.js 136KB
regular.js 105KB
regular.min.js 101KB
jquery.min.js 87KB
fontawesome.js 78KB
bootstrap.bundle.min.js 77KB
bootstrap.esm.min.js 71KB
jquery.slim.min.js 71KB
bootstrap.min.js 59KB
fontawesome.min.js 36KB
conflict-detection.js 33KB
v4-shims.js 17KB
v4-shims.min.js 15KB
conflict-detection.min.js 13KB
jquery.easing.js 4KB
chart-area-demo.js 3KB
chart-bar-demo.js 3KB
jquery.easing.min.js 2KB
jquery.easing.compatibility.js 2KB
Study_Helper.js 1KB
chart-pie-demo.js 1KB
attribution.js 187B
datatables-demo.js 103B
package.json 1KB
_icons.less 97KB
共 1840 条
- 1
- 2
- 3
- 4
- 5
- 6
- 19
资源评论
神仙别闹
- 粉丝: 2680
- 资源: 7667
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功