.png)
✅ 전체 프로젝트 구조 (최종 구조)
HyochulLabSolution/
├── HyochulLab.Core/ # 공통 Result, 상수, 확장 메서드
├── HyochulLab.Web/ # 미들웨어, 필터, ASP.NET 확장
├── HyochulLab.Data/ # DbContext, Repository, UnitOfWork
├── HyochulLab.DependencyInjection/ # DI 통합 모듈 (Service 등록 자동화)
├── HyochulLab.Logging/ # Serilog 등 로깅 추상화
└── HyochulLab.SampleApp/ # 샘플 웹앱 (전체 기능 통합 테스트)
1️⃣ HyochulLab.Core
- Result, DataResult, IResult
- StringExtensions, AppConstants
- 공통 모델 및 인터페이스
✅ (1단계 완료)
2️⃣ HyochulLab.Web
- ExceptionHandlingMiddleware
- ModelValidationFilter
- ApplicationBuilderExtensions
✅ 글로벌 예외 처리 & 모델 검증 필터 적용
✅ 확장 메서드로 앱에 쉽게 연결
3️⃣ HyochulLab.Data
핵심 구성:
- AppDbContext
- IRepository<T>, Repository<T>
- IUnitOfWork, UnitOfWork
- Entities/User.cs 샘플 모델
public class User
{
public int Id { get; set; }
public string Name { get; set; } = string.Empty;
}
SampleApp에 적용:
- appsettings.json에 DB 연결 문자열 추가
- Program.cs에서 AddDbContext, AddScoped<IUnitOfWork> 등록
- /api/user → 사용자 저장/조회 API 구성 완료
✅ 기본적인 CRUD + EF Core 구성 완료
✅ Repository/UnitOfWork 패턴 적용
4️⃣ HyochulLab.DependencyInjection
목표:
- 각 모듈(Service, Repository, Logging 등)을 자동 등록
- builder.Services.AddHyochulLabFramework() 형태로 통합 구성
5️⃣ HyochulLab.Logging
목표:
- ILogger 추상화를 기반으로 Serilog 등 확장 가능 구조 설계
- ExceptionLogging, RequestLogging, File/Console 선택적 지원
6️⃣ 테스트 / 문서화
- HyochulLab.Tests 프로젝트에서 유닛 테스트 구성
- Swagger, Sample Docs, Readme 템플릿 구성
📈 진행 현황 요약
모듈 상태
| HyochulLab.Core | ✅ 완료 |
| HyochulLab.Web | ✅ 완료 |
| HyochulLab.Data | ✅ 완료 |
| HyochulLab.SampleApp | ✅ 테스트 완료 |
| HyochulLab.DependencyInjection | 🔜 다음 단계 |
| HyochulLab.Logging | 🔜 예정 |
| HyochulLab.Tests | 🔜 예정 |
댓글
댓글 쓰기