Story #129 Automate member check in. - cseseniordesign/reservations GitHub Wiki

End User Documentation

Dev Testing Instructions

  1. Ensure you are on the most recent version of the dev-automate-member-check-in branch.
  2. Start your dev environment and navigate to http://0.0.0.0:9393/check_in_login or your environments equivalent.
  3. Login with a test account that has an active membership.
  4. Select a reason for visit along with a studio space from the list then press the check in button.
  • Make note of the time and options selected for later.
  1. Login with a test account that has an inactive membership.
  2. Repeat step 4
  3. Navigate to http://0.0.0.0:9393/login/ or again your environments equivalent and login with an admin account.
  4. Click on the admin tab and select Check In Log from the list of options.
  • Check In Log should also be an option when hovering over the admin selection.
  1. On the page verify that the chart showing numbers of visits to the various studio spaces aligns with what you chose when checking in on the two test accounts.
  2. Scroll down and see if your 2 check ins appear below the search options with the correct values.
  3. Attempt to search by the various parameters to single out one or the other check in instance.
  • If there are previous instances that exist you can also attempt to search for them.
  1. Scroll back up and click the Manage Studio Spaces button.
  2. Create a new studio space on this page.
  3. Return back to the Check In Log page and see if the newly created space appears along with the others.
  • At this point you can also attempt to check in again while selecting this new space as an option.
  1. Navigate back to the Manage Studio Spaces page and delete the new space.
  2. Return back to the Check In Log page and see if the space has been removed from all the options.
  • Note that any check ins that happened under that space will still have that space listed on the log.

Production Testing Instructions

  1. Go to https://innovationstudio-manager.unl.edu/check_in_login
  2. Repeat steps 3 - 16 substituting the real url for the dev url

Technical Documentation

models/studio_space.rb

  • Creating StudioSpace model and connecting with ActiveRecord.

models/check_ins.rb

  • Creating CheckIn model and connecting with ActiveRecord
  • Handles setting the correct timezone for the check in timestamp

routes/admin/view_check_in.rb

  • Created to handle the backend for the admin side of viewing check ins connects to both /views/admin/view_check_in.erb and /views/admin/manage_studio_spaces.erb

1- Changes within the GET /admin/view_check_in/? action:

  • Retrieving studio spaces' names from the database.

2- Changes within the GET /admin/view_check_in/studio_spaces/? action:

  • Retrieving studios from the database.

3- Changes within the POST /admin/view_check_in/studio_spaces/? action:

  • Creating a new studio space.

4- Changes within the POST /admin/view_check_in/studio_spaces/:studio_id/delete/? action:

  • Deleting the selected studio.

routes/auth.rb

1- Added GET and POST for /check_in_login/?

  • Basically the same as the standard login variant but stripped down for the check in process.

2- Added GET and POST for /forgot_password_check_in/

  • Same story as the check_in_login

views/admin/manage_studio_spaces.erb

  • UI for managing studio spaces.

views/admin/view_check_in.erb

  • Provides UI to view number of members checking in for each space in the past seven days along with the current days check ins.
  • Provides UI to search for specific check in instances.
  • Adding the "Manage Studio Spaces" button.

views/fixed_no_toolbar.erb

  • Created as a stand in for fixed.erb for the check in pages to prevent members from leaving the page in the kiosk.

views/check_in_login.erb

  • Created as an alternative for views/login.erb for the check in process.

views/check_in.erb

  • Created as a landing page for the check in process to gather reason for visit and what space is being visited.