DPOT - Clean Architecture 기반 Creators Support and donate platform (.NET 10.0)
Admin/ → Razor Pages 관리자 패널 (https://localhost:5000)
Web.Api/ → RESTful Minimal API (https://localhost:4000)
Application/ → CQRS Handler (MediatR)
└── Features/
├── Api/ → Auth, Banner, Document, Faq, Forum, Member, MyPage, Popup
└── Admin/ → Banner, Cache, Channel, Document, Faq, Forum, Member, MemberGrade, Popup, ReferenceData
Domain/ → Entity, ValueObject
Infrastructure/ → DB, Auth, Storage, Email
├── Authentication/ → JWT, Identity
├── Cache/ → Redis
├── Chat/ → WebSocket 채팅
├── Forum/ → 게시판 비즈니스 로직
├── Messaging/ → Email (SMTP, MimeKit)
├── Persistence/ → AppDbContext, IdentityDbContext, Migrations
├── Storage/ → 파일 업로드
└── Extensions/ → 확장 메서드
SharedKernel/ → AppSettings, Result Pattern
Database/ → SQL 배포 스크립트 (deploy-app.sql, deploy-identity.sql, deploy-missing.sql)
Auth, Banner, Config, Document, Faq, Forum, MyPage, Popup, Wallet
memberID, userID (camelCase + 대문자 ID){} 사용|| 대신)AddApplication() → MediatR 전체 Handler 등록AddApiInfrastructure() → API 전용 (JWT Bearer + 모든 서비스)AddAdminInfrastructure() → Admin 전용 (Identity + 모든 서비스)AddPresentation() → Swagger, ExceptionHandler# Solution build
dotnet build Admin/Admin.slnx
# API 실행
dotnet run --project Web.Api
# Admin 실행
dotnet run --project Admin
# Migration
dotnet ef migrations add <Name> --project Infrastructure --startup-project Admin --context AppDbContext
dotnet ef database update --project Infrastructure --startup-project Admin --context AppDbContext
Result<T> / Error (SharedKernel/Results/)IEndpoint 인터페이스 → MapEndpoint() 구현Application/Features/{Domain}/{Action}/Command.cs, Handler.cs, Response.cs