Introduction to Information System and Programming 课程项目

项目涉及成员:3人  用时:3周

项目被选为SUTD-ISTD专业课程展览的作品

我的工作:网页端与App所有界面、课程海报等所有设计工作;开发安卓App中的前2个功能,开发签到系统网页端。

签到系统前端GitHub:https://github.com/854605104/Smart-Class-Attendance-Web-end

安卓App GitHub:https://github.com/854605104/Smart-Class-Android-App

项目海报

简而言之,就是一款老师使用的签到+课程日程App,以及对应的前端签到系统,重点在实现而非设计,界面参考了求是潮Mobile与旷视Face++签到系统。

实现思路

计划采用前端作为签到端,使用getUserMedia()调用摄像头定时拍照,将照片使用POST方法向Face++ Web API请求,返回照片中人脸的Token和置信度,进行判断后显示签到成功或失败。对应地,更新前端界面显示,并向队友搭建的SQLite Post相关同学签到成功的结果。

安卓App从主要有四个功能,其一为显示最近的课程的倒计时,并实时从服务器获取同学的签到状态,将签到的同学用RecyclerView显示在界面上;其二为过去所有课程的CardView,从本地Json文件获取课程信息,数据结构如下:

{ "name": "50.001 Introduction to Information System and Programming",
    "session": "CI01",
    "date": "11/12/2018",
    "timing": "09:00",
    "venue": "2.502, SUTD",
    "studentNumber":"50",
    "studentStatus":{"LiYanzhang":"True","WangTianduo":"False","TangXiaoyue":"False","visitor":"True","visitor":"True","visitor":"True","visitor":"True","visitor":"True","visitor":"True","student1":"False","student2":"False","student3":"False","student4":"False","student5":"False","student6":"False"}},

进行处理后显示;其三为日历,同样是将本地Json文件中的课程数据提取并显示在对应的日历上;其四为为了现场Demo效果的功能,可以现场向Face++和SQlite添加人脸与Id,并且现场演示签到成功。

现场演示

学习

前端部分

摄像头的调用与使用Canvas截取图片的系列操作

Web API的基本使用(HTTP方法、异步上传等)

安卓部分及其他

安卓App的基本概念、json文件的处理、异步、HTTP方法、RecyclerView等

安卓界面的编排和开发呈现、Material Design的小小实践

SQlite基础

发表评论

电子邮件地址不会被公开。 必填项已用*标注