Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Event Tracking Feature #141

Open
wademauger opened this issue Oct 24, 2017 · 3 comments
Open

Event Tracking Feature #141

wademauger opened this issue Oct 24, 2017 · 3 comments

Comments

@wademauger
Copy link
Contributor

We should add a feature for signing in at events.

As an event manager, I want to be able to create an event sign in link, so that I can get metrics on attendance.

As an attendee, I want to be signed in to an event by hitting a link and signing in to Shibboleth, so I don't have to do a lot of work

@vuzDylan
Copy link
Collaborator

So just for clarification as the person making the link how would I go about doing that (I was thinking like adding it to the events page when your logged in)

Another point what would be the interface for displaying this information

@wademauger
Copy link
Contributor Author

It would be neat if we could integrate it with the events calendar for users authenticated as officers, or we could do a standalone page similar to go. It could be another button that pops up when you hover, I wouldn't wanna add another field to the creation form.

screen shot 2017-10-26 at 1 35 48 pm

@billdybas
Copy link
Member

billdybas commented Jan 15, 2018

  • I'm thinking that if an unauthenticated user visits the events page within the time window that an event is scheduled, there could be a large, visible button that says "Check In". This then prompts the user to sign in w/ their Google Account, does some stuff on the backend, and then the button is replaced w/ the text "Checked In 👍". If you've already signed into the SSE website, then you would by-pass logging in -> it would just do the backend stuff and say checked in.

  • If an officer is authenticated on this page, they would also see a count of the number of people checked in, and when they click on the count, a modal would appear (like on scoreboard) showing exactly who checked in at the event and when, sorted chronologically from earlier to later.

  • For this to work, we would need some backend work done. We would need new tables and models for CheckIns. This would be a join table between Events and Users w/ timestamp columns (so we can see over time when people check in) – no other columns needed.

Routes needed would be:

  • POST events/<event_id>/action/checkin, and it would be an authenticated route requiring high, Google permissions. We would know who is checking in based on the user parsed from the JWT. This route would create a CheckIn row for the User and Event.

  • GET events/<event_id>/checkins, and it would be an authenticated route requiring high, Google permissions & be in the officers group. This would get all the check ins for the particular event, including the User model associated w/ each check in.

  • Integration tests for the routes are required. See other tests for examples of what sort of things we should be testing in an integration test.

Stretch Goals (in order of priority):

  • A button next to the check in count which officers can see which generates a printable report of who attended the event which we can give to the department for record-keeping.
  • On the website, one goes to /me where they can sign in and are shown a personal dashboard. This can list all the events that a person has checked into, grouped by month/year. This dashboard could also show the user's current and past membership counts, their status in the SSE (non-member, member, officer, primary officer), and be where they can change their display information (first name, last name, profile picture).
  • Award a membership to users who attend a certain number of events (say, every 5 events). This would incentivize people to attend more events. These would be pending memberships to prevent people from signing in remotely to events and not actually attending them – primary officers could verify the person indeed attended events and see who consistently attends events.
  • Build a page similar to scoreboard (but which requires authentication & officer permissions, though could be public if people are ok w/ transparency) that ranks users by their number of check ins they have and when clicked on, lists what events they attended.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants