Over the course of a semester, the Roanoke College faculty are required to attend a certain number of meetings held through the college. The topics of these meetings vary, and each faculty member must attend some subset of them. To make sure each faculty member is attending the necessary number of meetings, each faculty member must create a report for which meetings they attended. The MCSP faculty feel that there is a better way to create these reports, using technology that they already possess: a smart phone.
The general idea is simple. The meeting planners (henceforth
known as the "admins") enter the
meetings into a piece of software which, along with adding the
meeting to the calendar, generates a special QR-code similar
to this one:
This image is displayed in the meeting. At the end of the meeting, each faculty member in attendance can scan the QR-code to have their attendance automatically recorded. At the end of the semester, a report can automatically be generated for each faculty member.
Since the MCSP faculty is lazy, we are outsourcing this project to you. Two groups will separately implement the admin side and faculty side. Each will be written as a smartphone app for the Android platform. Some pieces may also be written as a webapp in PHP. The high level goals are as follows:
|Authenticate as Facutly||Authenticate as Admin|
|View calendar of Events||Add Events to Calendar|
|RSVP to events||Monitor event RSVP's and Attendance|
|Scan QR-Code to record Attendance||Generate QR-Code for display|
|Generate Semester Report|
The two teams will be determined day one of class. While each team will operate independently, ultimately both pieces will need to operate as one Android app. As such, we will have weekly, in-class scrum meetings discussing progress. These are the times where any issues pertaining to collaboration between the teams can be resolved.
This project requires a persistent database. Since none of the goals for the course requires database knowledge, I will create, maintain, and monitor the database for this course. Instructions for how to connect to the database will be provided at a later date.
The following Deliverables will be further discussed in class.