CPSC 365 Course Project


Attendance Application

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:

FacultyAdmins
Authenticate as FacutlyAuthenticate as Admin
View calendar of EventsAdd Events to Calendar
RSVP to eventsMonitor event RSVP's and Attendance
Scan QR-Code to record AttendanceGenerate QR-Code for display
Generate Semester Report

Important Dates and Information

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.