Updating diagrams

This commit is contained in:
Tara Wilson 2024-12-11 19:24:51 -05:00
parent 9478b89a11
commit 4bf9b7cbc0
7 changed files with 125 additions and 81 deletions

View File

@ -2,38 +2,61 @@
```mermaid ```mermaid
classDiagram classDiagram
Ticket
Event Event
Patron Patron
Address Season
Order Talent
Ticket
Ticket : Guid Id Venue
Ticket : int Seats
Ticket : DateTime Date
Ticket : Patron Patron
Event : Guid Id Event : Guid Id
Event : String Title Event : Guid SeasonId
Event : String Description Event : Date Date
Event : DateTime Date Event : String Name
Event : Array Tickets Event : String? Description
Event : Object Venue
Event : Object Talent
Event : Array TicketIds
Patron : Guid Id Patron : String FirstName
Patron : String EmailAddress Patron : String? MiddleName
Patron : String PhoneNumber Patron : String LastName
Patron : Address Address Patron : String Email
Patron : String? PhoneNumber
Patron : String AddressOne
Patron : String? AddressTwo
Patron : String City
Patron : String State
Patron : String Zip
Address : Guid Id Season : Guid Id
Address : String StreetAddressOne Season : String Name
Address : String StreetAddressTwo Season : String? Description
Address : String City Season : Date StartDate
Address : String State Season : Date EndDate
Address : String ZipCode Season : Array EventIds
Order : Guid Id Talent : String Name
Order : Patron Patron Talent : String? Description
Order : Array Tickets
Ticket : Guid Id
Ticket : Guid? SeasonId
Ticket : Guid EventId
Ticket : TicketType Type
Ticket : String QrCode
Ticket : Object Patron
Venue : String Name
Venue : String? Description
Venue : String AddressOne
Venue : String? AddressTwo
Venue : String City
Venue : String State
Venue : String Zip
Patron --* Ticket
Venue --* Event
Talent --* Event
Event o-- Ticket : X Tickets
``` ```

View File

@ -1,12 +0,0 @@
# Order Lookup
```mermaid
sequenceDiagram
participant UI
participant API
participant DB
UI->>API: Order Id
API->>DB: Order Id
DB->>API: Order Returned
API->>UI: Order Details Returned
```

View File

@ -0,0 +1,16 @@
# Ticket Generation
```mermaid
sequenceDiagram
participant UI
participant API
participant DB
UI ->> API: Print Ticket Request
API ->> API: Generate Ticket Id
API ->> API: Generate Qr Code
API ->> DB: Save Ticket
API ->> DB: Associate Ticket with Event
API ->> API: Build Ticket Data for UI
API ->> UI: Respond with Ticket
UI ->> UI: Builds Visual Ticket
```

34
diagrams/ticket-lookup.md Normal file
View File

@ -0,0 +1,34 @@
# Ticket Lookup
## Happy Path
```mermaid
sequenceDiagram
participant UI
participant API
participant DB
UI ->> UI: Decode QrCode
UI ->> API: Send TicketId from QrCode
API ->> DB: Query Ticket
DB -->> API: Ticket Returned, if found
API ->> DB: Query Event from Ticket
DB -->> API: Event Information Returned
API ->> API: Check for Ticket Validity
API ->> UI: Return Ticket Validity
```
## No Ticket Found
```mermaid
sequenceDiagram
participant UI
participant API
participant DB
UI ->> UI: Decode QrCode
UI ->> API: Send TicketId from QrCode
API ->> DB: Query Ticket
DB -->> API: None Found
API ->> UI: Ticket Not Found
```

View File

@ -1,14 +0,0 @@
# Ticket Minting
```mermaid
sequenceDiagram
participant UI
participant API
participant DB
UI->>API: Mint Ticket(s) Request
API->>DB: Get Ticket Ids
DB->>DB: IDs Assigned
DB->>API: IDs Returned
API->>API: QR Codes Generated
API->>UI: Code Returned, Email Sent
```

View File

@ -1,29 +0,0 @@
# Ticket Verification
## Happy Path
```mermaid
sequenceDiagram
participant UI
participant API
participant DB
UI ->> API: Decoded Ticket Id from QR Code
API ->> DB: Query DB with Id
DB ->> API: Found Ticket Info
API ->> UI: Tickets Found, Admit X Seats
```
## Negative Path
```mermaid
sequenceDiagram
participant UI
participant API
participant DB
UI ->> API: Decoded Ticket Id from QR Code
API ->> DB: Query DB with Id
DB ->> API: None Found
API ->> UI: Ticket Not Found
```

View File

@ -0,0 +1,26 @@
# Ticket Validity Check
```mermaid
flowchart TD
start([Ticket Found, Event Found])
eventDateIsToday(Checks if Event Date is Today)
todayIsAfterEvent(Checks if Event was before Today)
twoHoursEarly(Checks if its less than 2 hours to event start)
fiveHoursAgo(Checks if Event started less than 5 hours ago)
returnsInvalid([Ticket is Invalid])
returnsExpired([Ticket is Expired])
returnsExpired2([Ticket is Expired])
returnsEarly([Ticket is Early])
returnsValid([Ticket is Valid])
start --> eventDateIsToday -- yes --- todayIsAfterEvent
eventDateIsToday -- no --- returnsInvalid
todayIsAfterEvent -- yes --- returnsExpired2
todayIsAfterEvent --> twoHoursEarly -- no --- returnsEarly
twoHoursEarly -- yes --- fiveHoursAgo
fiveHoursAgo -- yes --- returnsValid
fiveHoursAgo -- no --- returnsExpired
```