3.1 KiB
3.1 KiB
UML Guidance
1. Use Case Diagram
Main Actor
- Admin
Main Use Cases
- Sign in
- Access protected dashboard
- View dashboard summary
- Manage servers
- Manage services
- Manage domains
- Check DNS for a domain
- Manage notes
- View notes related to a specific server
- Sign out
2. Class Diagram
Main Classes / Entities
Server
- id
- name
- primaryIpAddress
- secondaryIpAddress
- operatingSystem
- location
- provider
- description
- status
- createdAt
- updatedAt
Service
- id
- serverId
- name
- type
- internalPort
- externalPort
- protocol
- status
- description
- createdAt
- updatedAt
Domain
- id
- serviceId
- name
- expectedServerIp
- lastResolvedIp
- lastResolvedIps
- resolutionStatus
- lastCheckedAt
- remarks
- lastCheckMessage
- createdAt
- updatedAt
Note
- id
- serverId
- title
- content
- category
- createdAt
- updatedAt
Relationships
- Server 1..* Service
- Server 1..* Note
- Service 1..* Domain
- Service *..1 Server
- Domain *..1 Service
- Note *..1 Server
Implementation Notes
- Server detail page displays related notes for the selected server.
- Service forms select an existing server.
- Domain forms select an existing service.
- Note forms select an existing server.
3. Activity Diagram
Suggested activity: Check DNS from Domain List
Flow:
- Admin opens domain list
- Admin clicks the DNS status badge
- System resolves IPv4 A record(s)
- System compares resolved IPs with
expectedServerIp - System stores check result in the domain record
- System refreshes the list
- System shows
MATCH,MISMATCH, orUNRESOLVED
4. State Chart Diagram
Suggested state chart: Domain DNS Status
States:
- UNRESOLVED
- MATCH
- MISMATCH
Transitions:
- DNS check success and expected IP found -> MATCH
- DNS check success and expected IP not found -> MISMATCH
- DNS resolution failure -> UNRESOLVED
5. Sequence Diagram
Suggested sequence: Create Domain and Check DNS
Objects:
- Admin
- Web UI
- tRPC API
- Database
- DNS Resolver
Flow:
- Admin opens create domain page
- UI loads available services
- Admin selects a service and submits the form
- API validates the service relationship
- API stores the domain
- Admin clicks DNS status / check action
- UI calls
domains.check - API resolves DNS A records
- API updates domain check fields in the database
- UI refetches and displays the new status
6. Collaboration Diagram
Show collaboration between:
- Admin
- Dashboard UI
- better-auth client / auth middleware
- tRPC routers
- Database
- DNS lookup module
Suggested emphasis:
- Protected route access
- CRUD coordination between UI and API
- Parent-child relationship selection in forms
- DNS checking and persistence flow
- Server detail page collaboration with note listing
7. UI/Interaction Notes for Documentation
Useful current UI details you can reflect in diagrams or captions:
/redirects to/dashboardor/loginbased on session state- Main list pages are ordered by
createdAt DESC, thenid DESC - Delete actions use a two-click icon confirmation flow
- Domain DNS check is triggered from the DNS status badge in the list view