- Introduced comprehensive testing plan for Milestone 3 in m3-client-note.md - Documented feedback and suggestions from demo sessions in m3-notes.md - Created detailed demo flow for Milestone 3 in m3.md, outlining user interactions and expected outcomes - Added planning tasks for Milestone 4 in m4-planning.md, covering backend and frontend development tasks, research, and business tasks
181 lines
3.4 KiB
Plaintext
181 lines
3.4 KiB
Plaintext
classDiagram
|
|
direction TB
|
|
class User {
|
|
id: String
|
|
email: String
|
|
fullName: String
|
|
role: UserBaseRole
|
|
}
|
|
|
|
class Staff {
|
|
id: UUID
|
|
userId: String
|
|
fullName: String
|
|
ownerId: UUID
|
|
hubId: UUID
|
|
rollId: UUID
|
|
status: BackgroundCheckStatus
|
|
}
|
|
|
|
class Account{
|
|
id: UUID
|
|
ownerId:UUID
|
|
type:AccountType
|
|
}
|
|
|
|
class Workforce {
|
|
id: UUID
|
|
vendorId: UUID
|
|
staffId: UUID
|
|
status: WorkforceStatus
|
|
}
|
|
|
|
class Application {
|
|
id: UUID
|
|
shiftId: UUID
|
|
staffId: UUID
|
|
roleId: UUID
|
|
status: ApplicationStatus
|
|
}
|
|
|
|
class Assignment {
|
|
id: UUID
|
|
workforceId: UUID
|
|
shiftId: UUID
|
|
roleId: UUID
|
|
status: AssignmentStatus
|
|
}
|
|
|
|
class ShiftRole {
|
|
id: UUID
|
|
shiftId: UUID
|
|
roleId: UUID
|
|
}
|
|
|
|
class Shift {
|
|
id: UUID
|
|
orderId: UUID
|
|
status: ShiftStatus
|
|
}
|
|
|
|
class Order {
|
|
id: UUID
|
|
vendorId: UUID
|
|
businessId: UUID
|
|
status: OrderStatus
|
|
}
|
|
|
|
class Vendor {
|
|
id: UUID
|
|
userId: String
|
|
companyName: String
|
|
}
|
|
|
|
class Business {
|
|
id: UUID
|
|
userId: String
|
|
businessName: String
|
|
}
|
|
|
|
class Role {
|
|
id: UUID
|
|
name: String
|
|
vendorId: UUID
|
|
roleCategoryId: UUID
|
|
}
|
|
|
|
class StaffDocument {
|
|
staffId: UUID
|
|
documentId: UUID
|
|
status: DocumentStatus
|
|
}
|
|
|
|
class Document {
|
|
id: UUID
|
|
name: String
|
|
documentType: DocumentType
|
|
}
|
|
|
|
class StaffCourse {
|
|
staffId: UUID
|
|
courseId: UUID
|
|
}
|
|
|
|
class Course {
|
|
id: UUID
|
|
title: String
|
|
categoryId: UUID
|
|
}
|
|
|
|
class Category {
|
|
id: UUID
|
|
label: String
|
|
}
|
|
|
|
class StaffAvailability {
|
|
staffId: UUID
|
|
day: DayOfWeek
|
|
slot: AvailabilitySlot
|
|
}
|
|
|
|
class Certificate {
|
|
staffId: UUID
|
|
certificationType: ComplianceType
|
|
status: CertificateStatus
|
|
}
|
|
|
|
class BenefitData {
|
|
staffId: UUID
|
|
vendorBenefitPlanId: UUID
|
|
current: int
|
|
}
|
|
|
|
class Contact {
|
|
staffId: UUID
|
|
relationship: RelationshipType
|
|
name: string
|
|
}
|
|
|
|
class Invoice {
|
|
orderId: UUID
|
|
}
|
|
|
|
class RecentPayment {
|
|
staffId: UUID
|
|
applicationId: UUID
|
|
status: RecentPaymentStatus
|
|
}
|
|
|
|
class TaxForm {
|
|
staffId: UUID
|
|
formType: TaxFormType
|
|
status: TaxFormStatus
|
|
}
|
|
|
|
User "1" -- "1" Staff : has
|
|
Staff "1" -- "*" Application : applies to
|
|
Staff "1" -- "*" Workforce : part of
|
|
Staff "1" -- "*" StaffDocument : has
|
|
Staff "1" -- "*" Certificate : has
|
|
Staff "1" -- "*" BenefitData : has
|
|
Staff "1" -- "*" Contact : has
|
|
Staff "1" -- "*" TaxForm : has
|
|
Staff "1" -- "*" Account : has
|
|
Staff "1" -- "*" StaffCourse : takes
|
|
Staff "1" -- "*" StaffAvailability : sets
|
|
Workforce "1" -- "*" Assignment : receives
|
|
Assignment -- ShiftRole
|
|
Vendor "1" -- "*" Order : receives
|
|
Business "1" -- "*" Order : places
|
|
Order "1" -- "1" Invoice : has
|
|
Invoice "1" -- "*" RecentPayment : has
|
|
RecentPayment "1" -- "1" Application : has
|
|
Staff "1" --o "1" Vendor : (ownerId)
|
|
Staff "1" --o "1" Business : (ownerId)
|
|
Application -- ShiftRole
|
|
ShiftRole "*" -- "1" Shift : belongs to
|
|
ShiftRole "*" -- "1" Role : defines
|
|
Shift "*" -- "1" Order : belongs to
|
|
StaffDocument "1" -- "1" Document : references
|
|
StaffCourse "1" -- "1" Course : references
|
|
Course "1" -- "1" Category : belongs to |