LearnPy小程序
应用名称:LearnPy(python交互式学习小程序)
系统功能:
-
前台功能
-
教程
A.将开源项目的教程内容在小程序上进行展示,供用户学习
B.教程内容需要按照开源项目设置的层次对页面进行分层
C.用户可以收藏和转发教程
-
题目
A.将开源项目的题目在小程序上进行展示,供用户查看进行思考
B.题目需按照开源项目中设置的难度级别进行分级,层次递进的为用户展示
C.用户可以标记题目是否已经解决
-
代码编写及提交
A.在教程和题目页面设置编写代码的跳转页面
B.设计编写代码和允许结果的页面
C.设计常用编程符号快捷键,方便用户进行代码编写,提高使用体验
D.用户可以对代码添加描述之后进行提交
E.用户可以在相应的教程和题目下查看到其他用户提交审核后的代码
F.对用户代码长度进行限制,代码行数不超过15行,总代码字符数不超过500个
-
项目推荐
A.将开源项目中有关Python的推荐项目内容在小程序上进行展示
B.项目需要分领域进行展示
C.用户可以在小程序中查看项目推荐并进行收藏
-
个人主页
A.用户可以在个人主页查看自己写过的代码,并可以删除
B.用户可以查看自己收藏的教程和项目
-
-
后台功能
-
题目管理
A.浏览问题
B.添加、更改、删除问题和相应的等级
-
教程管理
A.浏览教程
B.添加、删除、修改教程
-
代码管理
A.查看代码
B.审核、退回代码
-
用户管理
A.查看用户(提交情况)
B.禁用用户(违反平台或者一些相关规定)
-
管理员可以对相关领域的推荐项目进行管理
A.查看项目
B.添加、删除、修改项目
-
-
后端功能
-
数据存储
A.需要对教程、题目、推荐项目进行存储,并满足管理员更新和用户查看的需要
B.需要存储用户代码
C.需要存储用户提交的代码,并在相应的题目或教程下进行展示
D.需要存储用户收藏的教程和项目
E.需要存储用户已经解决的题目
-
代码运行
A.需要检查用户代码是否安全
B.需要检查用户代码是否满足长度限制
C.需要运行用户代码并返回相应结果
D.对结果需要进行判断是否发生编译错误
-
环境搭建:
开发过程:
- 设计类图
- 用例图
- 开发周期
- 个人开发记录与部分提交记录
- 部分代码展示
小程序前端目录结构
安装步骤:
- 运行软件:微信
使用微信小程序LearnPy无需安装其余工具和软件,只需要微信扫码即可
功能测试:
使用手机进行微信小程序实机测试
(1)首页界面及登陆界面
在个人界面中点击登录即可使用所有功能
(2)教程界面与教程内容界面
导览栏中最左边按钮跳转到教程页面,右边点击star按钮可收藏对应教程,点击具体教程跳转到教程详情页面进行学习;教程详情页面左上角为收藏按钮,下方点击编码按钮跳转到编码页面,ideas按钮跳转到ideas页面查看他人优秀代码
编码页面及过程展示
编码页面中点击编辑框进行代码编写,编辑框下方有一排快速输入按钮,方便用户进行快速输入,输入代码后点击运行可以得到结果,这里若代码有误会返回错误提示,以下是包含的几种错误提示:
非法引入包、运行超时、执行失败、行数过长
(4)练习页面及使用展示
练习选择页面,可根据自身需求及学习程度选择合适等级的题目进行练习;点击具体题目页面,查看题目具体信息,如果认为这题有难度需要提示可以点击提示按钮查看提示;点击编码按钮跳转到编码页面,与教程中的编码页面使用方式相同,点击上传代码可以上传该段代码提交管理员端审核
(5)项目推荐页面及使用方式
点击项目按钮切换到项目页面,根据需求及自身兴趣选择想要进一步学习的项目,点击对应项目复制项目链接,跳转到浏览器中查看和学习,点击左侧star按钮同样可以进行收藏
(6)我的页面及使用过程
我的页面中点击我的收藏可以查看收藏的项目和教程,点击查看具体内容、收藏和取消收藏;点击我的代码可以查看之前运行过的代码,进行回顾、修改、学习。
体会总结:
这个项目中我主要负责的是小程序前端页面设计以及接口的对接,整个三周的大部分时间都在进行学派(learn Py)小程序的开发,一方面是与ui设计的队友进行讨论,实现小程序的静态页面,理解静态页面的逻辑;另一方面是与后端和产品的队友交流,实现前期需求分析中总结的小程序的功能,让整个小程序真正地能够运行起来;除此之外呢,最重要的就是与前端队友的相互配合,总结开发经验、提高效率。总体上与团队的合作还是很融洽的,有时候有些思想上的交锋、针对问题的讨论,但是这些交流都让我们的项目变得更加成熟和完善。
在这次小程序的开发过程中遇到的主要问题就是小程序的上线,由于微信官方对小程序的审核较为严格,进入小程序不能直接是登陆页面,必须在未登录的情况下,为用户提供试用服务,不能将应用封闭起来,这与我们最初的设计不相符合。在尽量减少修改的原则下,我对原本的编码页面和登录页面进行了一定顺序的调整并对一些不适应需求的部分进行了更改,使得一些个性化服务对于为登录的用户封闭,满足了微信官方的需求,可以在未登陆的情况下,供用户进行一定程度阅览和使用,最后小程序通过了微信官方的审核。这次的体验十分有意义,这让我们了解到了在需求分析阶段要充分了解开发产品的运行环境和上线流程,认真学习有关该类产品的相关规定,在需求分析阶段就要考虑到这些;同时这个问题还可以从另一个角度给我们启示,我们的代码应该符合开闭原则,对于功能的拓展保持开放,提高代码的可拓展性,为未来可能出现的问题做准备,这次我们的小程序前端就做的不错,为适应上线需求时做出的修改不多,都能够比较顺利的完成。
综上所述,这次学派(learnPy)小程序的开发,我对于小程序开发有了更深刻的认识和理解,也借此了解了整个从需求分析、ui设计到前后端设计再前后端对接的整体流程。同时我学习到了很多有关产品的重要知识,对于产品开发的全流程有了更加深刻的认识,为上线而做出的相关努力,也提示我们作为一名程序员不能只是会写代码,不能只关注眼前的程序,需要有顶层思维,从更加高的角度对于整个产品的开发进行审视,将会有更加清晰的视角,对于自身的工作会有更加深刻的认识。最后还是要感谢队友和老师,这次开发是一次很好的体验,让我受益匪浅。
Github仓库及项目文档:
项目仓库:
https://github.com/lingjiyidonng/LearnPyBackend
项目文档: