Smart File Organizer for Windows
- 다운로드 폴더를 실시간으로 모니터링
- 새 파일 생성 시 자동으로 규칙에 따라 정리
- 파일 잠금 감지 및 다운로드 완료 후 처리
- 6개 기본 규칙 제공 (Documents, Images, Archives, Videos, Audio, Installers)
- 사용자 정의 규칙 생성
- 확장자 필터
- 파일명 키워드 (포함/제외)
- 파일 크기 범위
- 생성/수정 날짜 범위
- 정규식 패턴
- 우선순위 설정
- 대상 폴더 템플릿 매크로:
{Category},{YYYY},{MM},{Ext}등
- "Scan" 버튼으로 현재 폴더 분석
- DevExpress GridControl로 예상 작업 표시
- 선택적으로 특정 파일만 실행
- 처리된 파일을 Recent Activity 패널에 실시간 표시
- 색상 코딩: 성공(녹색), 실패(빨간색), 건너뛰기(주황색)
- 더블클릭 또는 "Open Folder" 버튼으로 파일 위치로 즉시 이동
- 최근 100개 항목 자동 유지
- 최근 이동 작업을 원복
- 설정 가능한 Undo 스택 (기본 100개)
- 이름 충돌 처리 포함
- 모든 작업 로그 기록
- 순환 보존 정책 (기본 90일)
- 기간별/유형별 처리량 통계
- Material Design 색상 팔레트
- SVG 벡터 아이콘 (Watch, Scan, Execute, Undo, Clear)
- 그라디언트 & 그림자 효과
- 색상 코딩 시스템 (Success/Failed/Skipped)
- 실시간 상태 표시 (Live Status Indicator)
- 반응형 레이아웃 (DockLayoutManager)
DownSort-Setup-{version}.exe다운로드- 실행 파일 더블클릭
- 설치 마법사 따라하기
요구사항:
- Windows 10 (64-bit) 이상
- .NET 8 Runtime (설치 시 자동 안내)
DownSort-v{version}-win-x64.zip다운로드- 원하는 폴더에 압축 해제
Downsort.exe실행
애플리케이션 실행 -> 기본 규칙 자동 생성 -> 감시 폴더 = 다운로드 폴더
"Watch" 버튼 클릭 -> 실시간 감시 시작 -> 새 파일 자동 정리
"Scan" 버튼 -> 미리보기 확인 -> 파일 선택 -> "Execute" 클릭
Recent Activity 패널에서 처리된 파일 확인 -> 더블클릭으로 폴더 열기
더 자세한 내용은 사용자 가이드를 참조하세요.
| 기술 | 버전 | 용도 |
|---|---|---|
| .NET | 8.0 | 최신 .NET 플랫폼 |
| WPF | - | Windows UI 프레임워크 |
| DevExpress | 25.1 | 고급 UI 컨트롤 (GridControl, DockLayoutManager) |
| MVVM | - | DevExpress MVVM Framework |
| Microsoft.Extensions | 9.0 | 의존성 주입, 구성 관리 |
| xUnit | 2.6 | 단위 테스트 |
| FluentAssertions | 6.12 | 테스트 어설션 |
DownSort.sln
├── Downsort/ # WPF 애플리케이션 (Presentation)
│ ├── ViewModels/ # MVVM ViewModels
│ ├── MainWindow.xaml # 메인 UI (DevExpress ThemedWindow)
│ └── App.xaml.cs # DI 및 애플리케이션 진입점
├── DownSort.Domain/ # 도메인 레이어
│ ├── Models/ # 엔티티 및 값 객체
│ └── Services/ # 서비스 인터페이스
├── DownSort.Infrastructure/ # 인프라 레이어
│ ├── FileSystem/ # 파일 작업 및 감시 서비스
│ ├── Persistence/ # JSON 저장소
│ ├── Rules/ # 규칙 엔진
│ └── Services/ # 서비스 구현
├── DownSort.Tests/ # 단위 및 통합 테스트 (23개)
└── Setup/ # 설치 프로그램 스크립트
├── DownSort.iss # Inno Setup 스크립트
├── build-installer.ps1 # 빌드 자동화
└── build.bat # 간편 빌드
- Visual Studio 2022 이상
- .NET 8 SDK
- DevExpress WPF Controls v25.1 (NuGet)
- DevExpress NuGet feed 설정 필요
# DevExpress NuGet source 추가
dotnet nuget add source "https://nuget.devexpress.com/{YOUR_API_KEY}/api/v3/index.json" --name DevExpressAPI Key 획득: https://nuget.devexpress.com
# 복원 및 빌드
dotnet restore
dotnet build
# 테스트 실행
dotnet test
# 애플리케이션 실행
dotnet run --project Downsort/Downsort.csprojcd Setup
.\build-installer.ps1 -Version "1.0.2" -CreateInstaller생성된 파일:
Installer/DownSort-Setup-{version}.exe- Windows 설치 프로그램Installer/DownSort-v{version}-win-x64.zip- Portable 버전
더 자세한 내용은 빌드 가이드를 참조하세요.
모든 설정과 로그는 로컬에만 저장됩니다:
%LocalAppData%\DownSort\
├── settings.json # 애플리케이션 설정
├── settings.json.bak # 자동 백업
├── rules.json # 정리 규칙 (6개 기본 + 사용자 정의)
├── rules.json.bak # 자동 백업
└── logs.json # 작업 로그 (최근 100개)
- 모든 데이터는 로컬에만 저장
- 네트워크 통신 없음
- 클라우드 동기화 없음
- 텔레메트리 없음
- 삭제 작업은 기본적으로 비활성화 및 2단계 확인
- 규칙이 활성화되어 있는지 확인
- 파일이 규칙 조건과 일치하는지 확인
- 파일이 잠겨있지 않은지 확인
- 애플리케이션을 관리자 권한으로 실행
- 대상 폴더에 쓰기 권한 확인
- 설정에서 동시 처리 작업 수 조정
- 감시하는 폴더 수 줄이기
더 많은 문제 해결 방법은 Setup/TROUBLESHOOTING.md를 참조하세요.
| 프로젝트 | 테스트 수 | 커버리지 |
|---|---|---|
| DownSort.Domain | 8개 | 90%+ |
| DownSort.Infrastructure | 15개 | 85%+ |
| 전체 | 23개 | 85%+ |
주요 테스트:
- RuleEngine (매칭, 우선순위, 템플릿)
- FileOpService (이동, 복사, 삭제, 충돌)
- UndoService (단일/다중 Undo)
- FileWatcherService (실시간 감시)
- 엣지 케이스 및 오류 처리
이 프로젝트는 MIT 라이선스 하에 배포됩니다.
버그 리포트 및 기능 제안은 GitHub Issues를 통해 제출해주세요.
- 이 저장소를 Fork
- 기능 브랜치 생성 (
git checkout -b feature/AmazingFeature) - 변경사항 커밋 (
git commit -m 'Add some AmazingFeature') - 브랜치에 Push (
git push origin feature/AmazingFeature) - Pull Request 생성
- 아키텍처: Clean Architecture (Domain-Driven Design)
- UI 프레임워크: DevExpress WPF Controls
- 디자인: Material Design
- 개발 도구: Visual Studio 2022
- 버전 관리: Git + GitHub
- 개발자: BaeTab
- 시스템 트레이 기능 (최소화 시 트레이로 이동)
- 트레이 아이콘 클릭으로 빠른 복원
- 우클릭 컨텍스트 메뉴 (열기/종료)
- X 버튼 클릭 시 트레이로 최소화
- 백그라운드 실행 중 파일 감시 지속
- 작업 표시줄 정리 (최소화 시 제거)
- 사용자 경험 향상
- 자동 업데이트 시스템 (GitHub Releases API 연동)
- 시작 시 자동 업데이트 확인 (24시간 간격)
- 수동 업데이트 확인 버튼
- Material Design 업데이트 다이얼로그
- 버전 관리 중앙화 (Directory.Build.props)
- 문서 구조 개선
- Material Design 커스텀 타이틀바
- 드래그 & 더블클릭으로 창 이동/최대화
- 호버 효과가 있는 창 컨트롤 버튼
- DevExpress NuGet feed 설정 간소화
- 수동 빌드 프로세스로 전환
- 문서 구조 개선
- 기본 파일 정리 기능
- 6개 기본 규칙 (Documents, Images, Archives, Videos, Audio, Installers)
- 규칙 엔진 (조건 매칭, 우선순위)
- 실시간 파일 감시
- Undo 기능 (최대 100개)
- Recent Activity 패널 (실시간 로그, 폴더 바로 가기)
- Material Design UI
- Windows 설치 프로그램 (Inno Setup)
더 자세한 내용은 CHANGELOG.md를 참조하세요.
이 프로젝트가 유용했다면 Star를 눌러주세요!
Made with ❤️ by BaeTab
