首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >【云开发校园技术布道师】云编程小精灵

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

原创
作者头像
小林卡比
修改2020-04-07 12:02:49
修改2020-04-07 12:02:49
1.6K0
举报
文章被收录于专栏:小林卡比小林卡比

简介

传统的线上作业提交平台,只能简单的保存学生的答案,并不能对答案的正确性进行核对,尤其是针对像编程这种代码不唯一但运行结果唯一的科目。因此“云编程小精灵”是一个面向校园与课堂的云编程工具,主要适用于《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班
  • 课程:极限编程

结果展示

编辑个人信息

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

用户登录

用户登录
用户登录

待完成

待完成
待完成

已完成

已完成
已完成

自由练习

自由练习
自由练习

用户中心

用户中心
用户中心

做作业

做作业
做作业

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介
  • 代码仓库
  • 设计思路
  • 技术架构
    • 前端
    • 后端
      • 云函数
      • 云数据库
  • 注意点
    • 操作方法
  • 结果展示
    • 编辑个人信息
    • 用户登录
    • 待完成
    • 已完成
    • 自由练习
    • 用户中心
    • 做作业
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档