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.