Supplemental Specs - CSCI-360-2022/Team-Too GitHub Wiki
Revision History
Ver: Inception Draft - Sept 14th, 2022 - First draft. To be refined - John Lloyd
Introduction
This document is the repository of all (Name to be determined) requirements not captured in the use cases.
Functionality
Logging and Error Handling Log errors for handling bugs / security issues Authentication Users will need to be able to securely login Payment Users will need a secure form of payment - To keep the app from needing to be PCI compliant, a secondary payer such as Stripe or Paypal can be used.
Usability
Human Factors Users may be visually impaired. Therefore:
- Critical information such as pricing, times, and seats should be very visible.
- Color blindness should be taken in account when designing Users may often not pay attention to their choices - Validations should be used for things like seating and dates.
Reliability
A Blue/Green app deployment strategy can be employed to easily roll back if a new version of an application fails.
Performance
The application should be scalable for larger or unexpected events. Auto scaling could be used to reduce costs for small events, but increase bandwidth for large events. More analysis is needed to determine the best tools for scalability.
Supportability
The application should be small enough that bugs or updates could be pushed out quickly. As stated in Reliability, Blue/Green deployment can be used to make quick roll outs or roll backs.
Implementation Constraints
We are unsure of the API for the college's event database. This will determine what API Fetch methods we need to use.
Purchased Components
Some SaaS may be used such as Stripe or AWS Amplify.
Free open Source Components
React libraries
Software Interfaces
Colleges event management database, AWS, Stripe/Paypal.
Legal Issues
To avoid needing to be PCI compliant, we will not be storing the users credit card information. We will also be using AWS amplify for masking the users private information such as username, passwords, and emails. Taxes may need to be calculated on sales. This information needs to be analysed.