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
- MVP
- 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
- 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
- Load Request Form
- 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