下一个JS和Redis中的测验应用程序
#javascript #nextjs #redis #redishackathon

测验

Quiza是一个在线平台,组织者,管理员甚至导师都可以为学生设置并安排问测验。学生可以依次签名并立即进行Quize QUIZES。

测验组织者可以将测验设置为私人,因此只有拥有唯一测验代码的学生才能注册并参加测验。

屏幕截图ðˆ

主页

4CF6Is.md.jpg

登录

4ISrqG.md.jpg

使用代码加入私人测验

4CKHhb.md.png

进行测验

4CKJQj.md.png

概述视频ð¥

在这里,一个简短的视频解释了测验应用程序如何工作

它的工作原理

一个组织者或导师首先注册我们的应用程序。在他/她可以登录之后。组织者可以创建一个新的测验,时间表何时测验允许学生参加以及测验是私人或公共的。

公开测验允许任何学生参加并参加测验。
对于私人测验,只有学生有唯一的测验代码,才能参加测验。

创建了测验后,组织者将新问题添加到测验和正确答案的选项。
然后提交后,将问题保存在REDIS数据库中。

学生还可以使用QUIZA和登录名来创建一个帐户。学生可以参加新的测验,也可以启用现有测验。
学生可以查看所有公共测验和注册,并使用唯一的测验代码注册私人测验。

一旦学生入学,现在就可以参加测验。学生单击“开始”按钮,后端确认测验是否打开,后端会检索Redis Cache中的测验和存储的所有问题。然后UI重定向学生参加测验页面。

学生开始以时间集尝试问题。
一旦学生提交问题,后端就为学生创造了分数。

后端还将所有响应保存在Redis数据库中。

此后,学生可以查看测验尝试结果。
同样,学生可以尝试多次测验并单独存储结果。

该应用程序都有一个私人排行榜,每个测验都在每个学生的测验尝试中无需。

它是如何建造的

Quiza是使用Next JS构建的,这是React JS库的框架。 Next JS用于通过其出色的服务器端渲染功能来管理前端和服务器端。

Next JS中,我们利用动态路由在管理API路由时在前端UI和服务器端的各个页面进行路由。

在项目中,我们利用了许多第三方库进行更快的开发和改进的验证安全。

在开发UI期间,使用Chakra-UI来构建前端UI,SWR一个用于客户端数据获取的库。 SWR主要用于从API(后端)获取数据,该数据又从Redis数据库中检索了数据。

对于应用程序身份验证,使用了Next-Auth,这是下一个JS的身份验证解决方案。 Next-auth用于管理前端和后端的用户记录会话,因此只允许经过身份验证的用户才能在Web应用中执行一些操作。

对于数据库,我们的应用程序使用REDIS数据库作为主要数据库,用于存储用户和测验信息。为了与REDIS数据库进行交互,我们使用了Redis-OM,这是一个用于REDIS的节点JS库,该节点可以在REDIS数据库中存储JSON对象。它还可以访问本机redis-cli命令,例如直接保存在redis中的缓存,这在Redis Cache中存储问题时非常方便,每当学生进行测验并标记学生的正确回答。

提交类别:Mern Mavericks

  • 使用API​​(后端)中的Redis使用JSON和搜索模块添加缓存和高级搜索功能。
  • 使用redis作为主数据库,而不是mongodb

使用的语言

javascript(下一个JS)

链接到代码

GitHub logo VinGitonga / quiza_redis

测验是在线测验平台,您可以在其中设置和练习测验

Quiza

Quiza is an online platform whereby organizers, administrator or even tutors can setup and schedule quizzes for their students. The students can in turn signin and take the quizes scheduled.

Screenshots ?

HomePage

4CF6Is.md.jpg

使用代码加入私人测验

4CKHhb.md.png

进行测验

4CKJQj.md.png

概述视频

这里的一个简短视频,解释了测验应用程序如何工作

Embed your YouTube video

它如何工作

一个组织者或导师首先用我们的应用注册 在他/她可以登录之后。组织者可以创建新测验 安排测验何时允许学生参加以及测验是私人或公共的。

公开测验允许任何学生注册并参加测验 对于私人测验, 学生只有在测验有唯一的测验代码时才能注册。

在创建测验后,组织者将新问题添加到测验中,并使用CRORICTANSWER添加了选项 然后 -