- .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>
61 lines
2.0 KiB
Markdown
61 lines
2.0 KiB
Markdown
# CLAUDE.md
|
|
|
|
이 파일은 Claude Code (claude.ai/code)가 이 저장소에서 코드 작업을 할 때 참고하는 가이드입니다.
|
|
|
|
## 프로젝트 개요
|
|
|
|
EduToy는 WPF(Windows Presentation Foundation) 기초를 학습하기 위한 교육용 프로젝트입니다. "WPF 기초를 위한 토이프로젝트"라는 이름으로도 불립니다.
|
|
|
|
## 빌드 및 실행
|
|
|
|
```bash
|
|
# 프로젝트 빌드
|
|
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는 한국어를 기본으로 사용합니다.
|