Skip to content

Latest commit

 

History

History
141 lines (117 loc) · 3.39 KB

todo.md

File metadata and controls

141 lines (117 loc) · 3.39 KB

Basic project setup

Auth

  • Registration
  • Login
  • Permissions per page

User groups

  • Admin
  • Volunteer
  • Veteran
  • Medical
  • Fire

Models

  • Events

  • Event title

  • Description

  • Dates

  • Departments

  • Department name

  • Description

  • Allowed user groups

  • Event ID

  • Shifts

  • Start

  • End

  • Duration

  • Allowed user groups

  • Department ID

  • Slots

  • Start

  • End

  • Shift ID

  • User ID

  • User Data

  • Burner Name

  • Real Name

  • Birthday

  • User ID

  • User Uploads

  • Name

  • Description

  • File

  • Notes

  • Status

  • User ID

  • Admin ID

Pages

  • Admin edit event
  • Admin delete event
  • Create department
  • Edit department
  • Delete department
  • Create shift
  • Edit shift
  • Delete shift
  • Viewing your own profile
  • Editing your own profile
  • Viewing list of shifts you've signed up for
  • Profile page to upload files
  • Admin list of profiles
  • Admin list of pending uploads
  • Admin editing other profiles
  • About page

Shift Availability Table

  • Table to display departments by day
  • Automatically create slots when a shift is created / edited
  • Create custom validation rule for time fields (12 hour + 24 hour)
  • Remove separate grid page
  • Only display shifts and departments on the days they occur
  • Link slots to description page with times and a button to sign up
  • Add option to cancel your volunteer shift after signing up
  • Display open / taken slots
  • Javascript to position the times grid
  • Javascript to resize slots based on duration
  • Trigger time hover based on width instead of elmentFromPoint
  • Display burner name if available

Relationships

  • Relationship between events and departments
  • Relationship between departments and shifts
  • Relationship between shifts and slots
  • Relationship between slots and users
  • Relationship between users and user data
  • Relationship between users and user uploads
  • Relationship between user uploads and admins

Defined Events

  • User Registered
  • Event Changed
  • Slot Changed
  • File Uploaded
  • File Changed

Event Triggers

  • When user is registered
  • When event is edited or deleted
  • When a department is created, edited, or deleted
  • When a shift is created, edited, or deleted
  • When a slot is taken or released
  • When a file is uploaded
  • When a file is approved or denied

Event Handlers

  • Send user email when user is registered
  • Send admin email when user is registered
  • Notify users on an event page when the event is changed
  • Automatically display taken slots
  • Send admin email when a file is uploaded
  • Send a user email when a file is approved or denied

Misc

  • Prevent non-authed users from viewing events
  • Look into simplifying shift -> event relationships
  • Set up inheritance for form field partials
  • Prevent signing up for shifts after events have passed
  • Restrict signing up for slots based user role
  • Prevent users from uploading more than 3 files at a time
  • Restrict editing event IDs when editing departments
  • Mobile nav menu
  • Require admin role to view admin pages
  • Allow editing user role
  • Allow editing upload status
  • Footer