- .NET 8.0 WPF 프로젝트 생성 - MVVM 패턴 적용 (CommunityToolkit.Mvvm) - 의존성 주입 구현 (Microsoft.Extensions.DependencyInjection) - 로그인/회원관리/회원등록 화면 구현 - 테마 전환 기능 (Dark/Light) - 다국어 지원 (한국어/영어) - 세련된 로그인 UI 디자인 - CLAUDE.md 및 History.md 문서화 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2.0 KiB
2.0 KiB
CLAUDE.md
이 파일은 Claude Code (claude.ai/code)가 이 저장소에서 코드 작업을 할 때 참고하는 가이드입니다.
프로젝트 개요
EduToy는 WPF(Windows Presentation Foundation) 기초를 학습하기 위한 교육용 프로젝트입니다. "WPF 기초를 위한 토이프로젝트"라는 이름으로도 불립니다.
빌드 및 실행
# 프로젝트 빌드
cd src/WPFBeginner
dotnet build
# 프로젝트 실행
dotnet run
기술 스택
- .NET 8.0 - Windows WPF 애플리케이션
- CommunityToolkit.Mvvm 8.2.2 - MVVM 패턴 구현
- Microsoft.Extensions.DependencyInjection 8.0.0 - 의존성 주입
프로젝트 아키텍처
src/WPFBeginner/
├── Models/ # 데이터 모델 (Member, AppSettings)
├── ViewModels/ # MVVM ViewModel (LoginViewModel, MainViewModel, RegistViewModel)
├── Views/ # XAML Window (LoginWindow, MainWindow, RegistWindow)
├── Controls/ # 재사용 가능한 UserControl (InputPanel)
├── Services/ # 비즈니스 로직 서비스 (SettingsService, MemberService)
├── Converters/ # WPF 값 변환기
└── Resources/
├── Themes/ # 테마 ResourceDictionary (DefaultTheme, LightTheme)
└── Languages/ # 다국어 리소스 (ko-KR, en-US)
MVVM 패턴
- View: XAML만 사용, 코드 비하인드에 비즈니스 로직 없음
- ViewModel: CommunityToolkit.Mvvm의
[ObservableProperty],[RelayCommand]사용 - DI: App.xaml.cs에서 ServiceCollection으로 서비스 및 ViewModel 등록
주요 기능
- 로그인: appsettings.json의 자격 증명으로 인증 (기본: admin/0000)
- 회원 관리: DataGrid로 CRUD 작업
- 테마 전환: 어두운 테마(Default) / 밝은 테마(Light)
- 다국어 지원: 한국어(ko-KR) / 영어(en-US) 동적 전환
설정 파일
appsettings.json: 로그인 정보, 언어, 테마, 기본 회원 데이터 저장
언어
프로젝트 문서 및 UI는 한국어를 기본으로 사용합니다.