Open PASSIONFORYOU opened 3 months ago
Booking and Tracking System Multi-vendor system: Shipper, Admin, Courier
Booking and Tracking System Multi-vendor system: Shipper, Admin, Courier
@startuml left to right direction
actor Courier actor Shipper actor Admin
rectangle "Multi-Vendor Courier Exchange Platform" { usecase "Register Account" as UC1 usecase "Book Delivery" as UC2 usecase "Track Delivery" as UC3 usecase "Manage Users" as UC4 usecase "Verify Business" as UC5 usecase "Post Load" as UC6 usecase "Bid on Load" as UC7 usecase "Search Loads" as UC8 usecase "Search Vehicles" as UC9 usecase "View Company Profile" as UC10 usecase "Export Job Data" as UC11 }
Courier --> UC1 : Registers with details Courier --> UC2 : Books a delivery Courier --> UC3 : Tracks delivery status Courier --> UC7 : Bids on loads Courier --> UC8 : Searches for loads Courier --> UC9 : Searches for vehicles Courier --> UC11 : Exports job data
Shipper --> UC1 : Registers with details Shipper --> UC2 : Books a delivery Shipper --> UC3 : Tracks delivery status Shipper --> UC6 : Posts loads for bidding
Admin --> UC4 : Manages user accounts Admin --> UC5 : Verifies business legitimacy Admin --> UC10 : Views company profiles @enduml
@startuml left to right direction
actor Courier actor Shipper actor Admin
rectangle "Logistics System" { rectangle "API Client Library" { rectangle "Logistics.Client" }
rectangle "HTTP API" {
rectangle "Logistics.API"
}
rectangle "Application Layers" {
rectangle "Tenant Application Layer" {
rectangle "Logistics.Application.Tenant"
}
rectangle "Admin Application Layer" {
rectangle "Logistics.Application.Admin"
}
rectangle "Common Application Layer" {
rectangle "Logistics.Application.Common"
}
}
rectangle "Shared Libraries" {
rectangle "Logistics.Shared"
rectangle "Logistics.Models"
}
rectangle "Domain" {
rectangle "Logistics.Domain"
}
rectangle "Infrastructure Layer" {
rectangle "Logistics.Infrastructure.EF"
}
rectangle "Identity Server" {
rectangle "Logistics.IdentityServer"
}
}
Courier --> "Logistics.API" : Sends requests Shipper --> "Logistics.API" : Sends requests Admin --> "Logistics.API" : Sends requests
"Logistics.API" --> "Logistics.Application.Tenant" : Handles tenant requests "Logistics.API" --> "Logistics.Application.Admin" : Handles admin requests "Logistics.Application.Tenant" --> "Logistics.Shared" : Uses shared classes "Logistics.Application.Admin" --> "Logistics.Shared" : Uses shared classes "Logistics.Application.Common" --> "Logistics.Shared" : Uses shared classes "Logistics.Application.Common" --> "Logistics.Models" : Uses DTO classes "Logistics.Infrastructure.EF" --> "Logistics.Domain" : Interacts with domain entities "Logistics.IdentityServer" --> "Logistics.API" : Authenticates users
@enduml