【云开发校园技术布道师】云编程小精灵

2020-04-07 12:02:49 浏览数 (1)

简介

传统的线上作业提交平台,只能简单的保存学生的答案,并不能对答案的正确性进行核对,尤其是针对像编程这种代码不唯一但运行结果唯一的科目。因此“云编程小精灵”是一个面向校园与课堂的云编程工具,主要适用于《C语言程序设计》和《数据结构》等科目的教学。支持教师在云编程小精灵中添加编程题目,学生可作答并即时得到运行结果与答案正误,并可自由进行编程练习。

代码仓库

GitHub:https://github.com/0Kirby/ProgrammingElf

Gitee:https://gitee.com/zerokirby/tcb-hackthon-ProgrammingElf

设计思路

“云编程小精灵”基于小程序云开发搭建。

小程序是一种全新的连接用户与服务的方式,它可以在微信内被便捷地获取和传播,同时具有出色的使用体验。

而云开发为开发者提供完整的原生云端支持和微信服务支持,弱化后端和运维概念,无需搭建服务器,使用平台提供的 API 进行核心业务开发,即可实现快速上线和迭代,同时这一能力,同开发者已经使用的云服务相互兼容,并不互斥。

“云编程小精灵”使用小程序中的页面作为前端,负责展示用户数据以及进行必要的交互;使用云开发作为后端,其中云函数负责发送HTTP请求、获取用户ID等,而云数据库负责保存本小程序应用到的各种数据。

技术架构

前端

基于小程序中的pages,目前使用了8个页面。

  • about:介绍本人的信息
  • detail:基于exercise页面,增加了保存答案与核对答案的功能,如果是进入已完成的题目还能显示之前提交的代码和运行结果
  • exercise:给学生提供自由练习编程的功能
  • home:小程序主界面,显示尚未完成的编程作业,如果用户尚未设置个人信息会给予提示
  • list:显示已完成的编程作业
  • login:提示用户需要授权才能使用
  • me:展示用户微信个人信息,并提供其他功能的入口
  • user:修改用户个人信息

后端

基于云开发,目前使用了2个云函数云数据库

云函数

  • glot:调用glot API对学生的代码进行运行,并将结果返回给小程序
  • login:获取用户的openid

云数据库

  • users:保存用户基本信息
  • answers:保存学生的完成情况
  • questions:保存教师布置的编程题

注意点

因为极限编程的开发时间所限,因此本小程序目前只完成了学生端,教师端功能后期有待完善,只能使用内置的题库,所以需要使用提供的个人信息进行题库的读取与写入。

操作方法

点击下方Tab栏中的”“,然后点击上方的用户头像进行个人信息的设置,否则会出现找不到编程题的情况。其中最后四列必须如下设置,可参考结果展示用的”编辑个人信息“:

  • 学校:腾讯云学院
  • 学院:犀牛鸟学院
  • 班级:校园技术布道师养成1班 或者填写 :校园技术布道师养成2班
  • 课程:极限编程

结果展示

编辑个人信息

编辑个人信息编辑个人信息

用户登录

用户登录用户登录

待完成

待完成待完成

已完成

已完成已完成

自由练习

自由练习自由练习

用户中心

用户中心用户中心

做作业

做作业做作业

0 人点赞