July 5 Presentation Notes - 220531-jwa/TC_Prater_p1 GitHub Wiki

July 5 Presentation Notes

  • Requirements
    • MVP
      • Users can log in
      • Users can submit requests
      • Users can see past and current reimbursements
      • Users can update requests to include grades/presentations
      • Finance Managers can view all requests
      • Finance Managers can approve or reject requests
      • Finance Managers can update the status of a request after user updates
    • Other Required (GitHub)
      • Logging
      • Cucumber/JUnit Tests
      • 3NF format
        • No field depends on another field in such a way that field A 100% predicts the contents of Field B (ex: all cats are mammals, all books written by Mark Twain were written by an American)
      • As RESTful as possible
        • All endpoints aside from /login and /logout use RESTful formatting
      • Input Validation
      • Styled web pages using CSS
        • Bare technicality--see List Page
      • Public Repository
    • Other Required (ERS Word Doc)
      • Max $1000 reimbursement per year
      • Preset categories of redeemable event types and covered percentages
      • Mark urgent if less than 2 weeks remain
      • Finance Manager can alter Request Amount
      • Finance Manager has room to comment on changes
      • User can withdraw their request if Request Amount is changed
      • Only interested parties (finance managers and relevant users) can see requests/grades
        • Partial: Only finance managers and relevant users can see the request on List Page, but anyone can see any request on Single Page
    • Stretch
      • Ability to upload attachments
      • Finance Manager can request additional information
      • Auto-approval after a certain amount of time
      • Available Reimbursement resets on the new year
  • Home Page
    • Login
      • Takes user to Login page
    • Logout
      • Sets sessionStorage values relating to user account to null
    • User Profile
    • List Page
    • Debug Button
      • Console.log(uID) + Console.log(isManager)
  • Login Page
    • Demonstrate Login
    • Demonstrate Failed Login
    • Visibility Toggle
  • User Page
    • Nothing much to comment on here
  • List Page
    • Make note of the CSS styling present (what little there is)
    • Get By Single ID
    • View Your Requests
    • View Requests You Manage
    • View All Requests
  • Single Page
    • Load Request Form
      • Big old pile of innerHTML concatenation
      • Talk about difficulty of loading/reading Date-type inputs
      • Also setting starting values of dropdown boxes caused issues unless the actual value was numerical
    • Clear Saved Request
      • Like Logout, but for Requests
    • Data Validation
      • Numbers in drop-down boxes allow easy indexing of the event type/percentage covered array back in Java
      • Dates are already so annoying without them being mistyped
  • Logging Strategy Going Forwards
    • Log time, uID, and rID at beginning and end of each function in the Controller classes
    • Log errors as well
  • Tests that Could’ve Been
    • Show requests 8-12 for example tests
  • Questions