You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1.8 KiB
1.8 KiB
AutoStore Architecture Overview
Layer Boundaries
graph TB
subgraph PL[Presentation Layer]
A[StoreController]
B[AuthController]
end
subgraph AL[Application Layer]
E[AddItem Use Case]
F[DeleteItem Use Case]
G[LoginUser Use Case]
H[GetItem Use Case]
I[ListItems Use Case]
J[HandleExpiredItems Use Case]
K[TaskScheduler]
L[IItemRepository]
M[IAuthService]
N[IOrderService]
O[ITimeProvider]
P[IThreadManager]
end
subgraph DL[Domain Layer]
Q[Item]
R[User]
S[ItemExpirationPolicy]
end
subgraph IL[Infrastructure Layer]
C[HttpServer]
D[HttpJwtMiddleware]
T[FileItemRepository]
U[FileJwtAuthService]
V[HttpOrderService]
W[SystemTimeProvider]
X[SystemThreadManager]
Y[CvBlocker]
end
Component Dependencies
graph LR
StoreController --> AddItem
StoreController --> DeleteItem
StoreController --> GetItem
StoreController --> ListItems
StoreController --> IAuthService
AuthController --> LoginUser
AddItem --> IItemRepository
AddItem --> ITimeProvider
AddItem --> IOrderService
AddItem --> ItemExpirationPolicy
DeleteItem --> IItemRepository
LoginUser --> IAuthService
GetItem --> IItemRepository
ListItems --> IItemRepository
HandleExpiredItems --> IItemRepository
HandleExpiredItems --> ITimeProvider
HandleExpiredItems --> IOrderService
HandleExpiredItems --> ItemExpirationPolicy
TaskScheduler --> ITimeProvider
TaskScheduler --> IThreadManager
IItemRepository --> Item
IAuthService --> User
IOrderService --> Item
ItemExpirationPolicy --> Item
ItemExpirationPolicy --> ITimeProvider