23.5.7总结(学习通项目思路)

news2024/12/24 8:26:40

项目思路:

注册:输入邮箱(判重),两次输入密码,获得的正确的验证码,获得不重复的用户名。

登录:输入用户名和密码登录。

忘记密码:输入邮箱(和用户名),获得正确的验证码,两次输入修改的密码。

个人资料:展示用户名、邮箱、手机号、生日、昵称(姓名)、住址、性别。

修改个人资料:生日、手机号(正则判断)、昵称、住址、性别。

教师:

创建courses表(id、courseName、class_id、teacher_id、deadline_at)

        classes表(id、className)

        studycourse表(id、course_id、class_id、user_id)

创建课程:通过输入学校名称和课程名称,获得唯一邀请码(判重)。

创建课程时,输入班级名和课程名,
输入的班级在class表有对应的班级,就不创建,如果没有对应的班级,在classes表中创建一条数据
输入的课程名和班级名(在classes表查找得到class_id)在courses表中有对应的课程名和班级名,就直接使用上一个老师创建课程时用的邀请码;如果没有查询到(课程名和班级名),说明这个老师第一次创建,需要生成邀请码,然后加入courses表

创建课程时:

1、根据输入的课程名和学校名和邀请码判断是否已经创建该课程,不存在该课程的情况;

2、在classes表中查找是否存在对应学校名,不存在该学校就创建;

3、然后在courses表中创建该课程。

加入课程:通过输入邀请码进入课程(不能加入自己教的课)。

课程管理:

移除学生:在studycourse表中删除该学生对应课程的数据。

注销课程:从courses表中删除已经创建的课程。

查询个人信息


创建selectpeople表(id、selectpeopleName、course_id、class_id、teacher_id)

        selectpeople_detail表(id、selectpeople_id、user_id)

        signin表(id、signinName、course_id、class_id、teacher_id、createDate_at、deadline_at)

        signin_detail表(id、signin_id、user_id、state)

在“我教的课”页面双击进入课程详细,其中包括课堂签到、随机选人、发布作业、发布资料。

课堂互动:

  • 课堂签到:在双击课程页面后,将课程id(课程名)及班级id(班级名)传入新的页面,教师选择签到名称,签到开始时间默认为发布签到的时间,签到截止时间,在signin表中插入信息。时长限制采用日期选择栏。数据库查看签到人选对照显示所有未签到的人和签到的人。
  • 随机选人:同样将信息传入新的页面,在courses表中查询该课程下的所有学生id,生成在区间内的随机数,在listview里显示代表姓名,随机选取一个学生,加入selectpeople_detail表。

创建workinformation表(id、workName、route(存放excel表格)、course_id、class_id、teacher_id、createdate_at、deadline_at)

        worksubmit表(id、user_id、state、route、score)

作业:

  • 发布作业:在workinformation表中根据workName、course_id、class_id判重,如果不存在则加入表。接着根据输入的问题数量,依次加入workcontent表。
  • 批改作业:修改对应学生提交的worksubmit表中的score。

创建filecreate表(id、class_id、course_id、teacher_id、route)

        filedownload表(id,user_id、file_id)

发布课程资料:老师从文件选择框选择文件,上传服务器,服务器对上传文件重命名,保存,在数据库保存文件地址,存入createfile表中。

学生

提示栏(显示日期)

最好学生的界面也显示随机选人选了谁

写作业:在worksubmit表中写入学生提交的作业,此时将state默认的‘未交’改为‘已交’。

加入课程:在studycourse表中加入对应的class_id、course_id、user_id的信息。

退出课程:右键‘我学的课‘中的Listview对应的课程,在studycourse表中删除对应的信息。

下载资料:学生文件保存框选择保存路径,在数据库得到文件路径,从服务器下载,存放在固定文件夹内,保存在downloadfile表内。

最近解决了:

  • 注册时自动生成username,加入邮箱判重。(之前是自己输入username并判重)
  • 注册时,解决了由于一个邮箱判重,重新输入另一个邮箱,可以使用原来的验证码登录的问题。
  • 登录时,输入用户名登录。
  • 在登录时加入判断条件,如果是学生就不能显示“我教的课”“创建课程”等教师拥有的功能。
  • 在个人资料页面,设为用户名、邮箱不能修改,增加userType的Label。
  • 创建课程时,是输入由教师输入学校名和课程名,自动生成邀请码(不重复),然后学生提供邀请码直接加入。
  • 在数据库course表中新增deadline_at字段,表示邀请码过期时间。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/500026.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

RK3588平台开发系列讲解(进程篇)可执行文件内部结构

平台内核版本安卓版本RK3588Linux 5.10Android 12文章目录 一、 ELF 文件的两大组成部分二、文件头三、程序头和节区头四、ELF 文件的细节结构沉淀、分享、成长,让自己和他人都能有所收获!😄 📢在 Linux 中,二进制可执行文件的标准格式叫做 ELF(Executable and Linkabl…

ARP协议结构

文章目录 概念ARP协议格式ARP协议的作用ARP协议的工作流程 首先提出一个问题,来理解ARP解决什么问题 已知报文在数据链路层传输的过程中(假设是主机A到主机B),是通过路由器之间的跳转,根据路由表,结合目的…

【论文】SimCLS:一个简单的框架 摘要总结的对比学习(1)

SimCLS:摘要总结的对比学习(1) 写在最前面模型框架 摘要1 简介 写在最前面 SimCLS: A Simple Framework for Contrastive Learning of Abstractive Summarization(2021ACL会议) https://arxiv.org/abs/2106.01890 论文:https://…

【c语言小demo】登录demo | 账号密码验证功能

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; 给大家跳段街舞感谢支持&#xff01;ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ …

postgresql insert ddl执行流程分析

专栏内容&#xff1a;postgresql内核源码分析个人主页&#xff1a;我的主页座右铭&#xff1a;天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物&#xff0e; 目录 前言 总体流程 调用堆栈 执行接口说明 详细流程分解 ExecInsert对于普通表…

Java9

Java9 &#xff08;一&#xff09;、stream流1.1 Stream流的中间方法和终结方法 &#xff08;二&#xff09;、方法引用2.1 方法引用的分类 &#xff08;三&#xff09;、异常3.1 编译时异常和运行时异常3.2 异常的作用3.3 异常的处理方式3.4 异常中的常见方法3.5 自定义异常 &…

麒麟设置分辨率

为什么要设置------额。。。。虚拟机启动的&#xff0c;直接满屏了。。。。也不能移动 命令设置法 1、可以通过xrandr命令来设置屏幕分辨率。先查询当前分辨率&#xff0c;及当前支持的分辨率。 xrandr 2、可以通过-s参数来设置为1920x1440 xrandr -s 1920x1440 这就好…

Midjouney prompt优化

Midjouney prompt优化 总述1. Midjouney1.1 常见出图方式1.2 图片参数 2. prompt2.1 prompt关键词框架逻辑2.2 关键词技巧2.3 分类关键词2.3.1 媒体类型、介质和渲染引擎2.3.2 艺术风格2.3.2.1常见风格关键词2.3.2.2 艺术风格介绍2.3.2.3 绘画风格关键词和作品 2.3.3 相机镜头和…

面试官从这些方面考察你的Android开发水平!

View基础(25题) 什么是ViewView的位置参数MotionEventViewRootDecorViewMeasureSpec View三大流程(28题) measure过程ViewViewGrouplayout过程draw过程获取View的宽高Activity启动到加载ViewRoot的流程 自定义View(26题) 四种实现方法直接继承View自定义属性直接继承ViewG…

C++三大特性—继承“复杂的菱形继承及菱形虚拟继承”

C的一个大坑&#xff1a;菱形继承 希望这篇文章能让你理解什么是菱形继承&#xff0c;以及菱形继承的注意事项 单继承与多继承 单继承&#xff1a;一个子类只有一个直接父类时称这个继承关系为单继承 多继承&#xff1a;一个子类有两个或以上直接父类时称这个继承关系为多继承…

【半监督学习】Match系列.2

本文简单介绍半监督算法中的Match系列方法&#xff1a;CoMatch&#xff08;ICCV2021&#xff09;&#xff0c;CRMatch&#xff08;GCPR2021&#xff09;&#xff0c;Dash&#xff08;ICML2021&#xff09;&#xff0c;UPS&#xff08;ICLR2021&#xff09;&#xff0c;SimMatch…

ajax、fetch、axios三者的异同

同&#xff1a;都是发送网络请求 异&#xff1a; 1.ajax ajax是异步的javascript和xml&#xff0c;用于创建快速的动态网页的技术。&#xff08;用js发送异步的网络请求&#xff09; 特点&#xff1a;局部刷新页面&#xff0c;无需重载整个页面。 很多小伙伴会误以为ajax是…

2023年的深度学习入门指南(12) - PEFT与LoRA

2023年的深度学习入门指南(12) - PEFT与LoRA 大家都知道&#xff0c;大模型的训练需要海量的算力。其实&#xff0c;即使是只对大模型做微调训练&#xff0c;也是需要大量的计算资源的。 有没有用更少的计算资源来进行微调的方法呢&#xff1f;研究者研发出了几种被Hugging F…

fastCGI使用

1.http解释 在使用fastCGI之前需要先了解什么是http&#xff0c;以及静态请求和动态请求。 1.什么是http HTTP是超文本传输协议&#xff0c;它定义了客户端和服务器端之间文本传输的规范。HTTP通常运行在TCP之上&#xff0c;使用80端口。HTTP是一种简单的请求-响应协议&#x…

GUN C编译器拓展语法学习笔记(二)属性声明

一、属性声明 1、存储段&#xff1a;section 1.1 GNU C编译器扩展关键字&#xff1a;__attribute__ GNU C增加了一个__attribute__关键字用来声明一个函数、变量或类型的特殊属性。主要用途就是指导编译器在编译程序时进行特定方面的优化或代码检查。例如&#xff0c;我们可以…

C语言三子棋小游戏

哈喽&#xff0c;大家好&#xff0c;今天我们要利用之前所学习的C语言知识来写一个三子棋小游戏。 目录 1.游戏 2.函数部分 2.1.菜单 2.2.初始化棋盘 2.3.打印棋盘 2.4.玩家下棋 2.5.电脑下棋 2.6.判断输赢 2.7.判断棋盘是否已满 3.完整代码展示 1.游戏 今天我们写的…

未知时间信息下雷达运动目标的计算高效重聚焦与估计方法

论文背景 在雷达成像中&#xff0c;回波信号在接收到之前可能已经被多次反射或散射&#xff0c;这样会导致回波信号的时间和频率发生变化。其中&#xff0c;距离向维度上的变化称为距离单元迁移&#xff08;range cell migration&#xff0c;RCM&#xff09;&#xff0c;频率向…

Spring笔记

文章目录 1、什么是Spring&#xff1f;2、如何创建Spring3、Spring简单的读和取操作1.直接在spring-config.xml里面放置对象2.通过配置扫描路径和添加注解的方式添加Bean对象3.为什么需要五个类注解4.从spring中简单读取 Bean对象5.Resource和Autowired的异同 1、什么是Spring&…

Transformer结构细节

一、结构 Transformer 从大的看由 编码器输入、编码器、解码器、解码器输入和解码器输出构成。 编码器中包含了词嵌入信息编码、位置编码、多头注意力、Add&Norm层以及一个全连接层&#xff1b; 解码器中比编码器多了掩码的多头注意力层。 二、模块 2.1 Input Embeddi…

canvas学习之华丽小球滚动电子时钟

教程来自 4-3 华丽的小球滚动效果 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>华丽小球滚动时钟…