개요

Librarian 프로젝트는 개인적으로 보유하고 있는 PDF, ePub 전자책 파일들을 국립중앙도서관의 OpenAPI를 활용하여 한국십진분류법, KDC(Korean Decimal Classification) 도서 분류체계에 따라 폴더를 만들어 분류하는 프로그램으로, Hexagonal Architecture 기반으로 C#을 사용하여 개발되었습니다.

도서 분류체계 개념

한국십진분류법, KDC(Korean Decimal Classification)는 국내 대부분의 도서관에서 사용하는 도서 분류체계로, 도서의 주제에 따라 계층적으로 분류하는 체계입니다. KDC는 숫자와 알파벳으로 이루어진 코드로 구성되며, 각 코드는 특정 주제나 형태를 나타냅니다. Librarian 프로젝트는 이 KDC 체계를 활용하여 전자책 파일을 분류합니다.

Folders

Hexagonal Architecture

Hexagonal Architecture는 소프트웨어를 내부적인 도메인과 외부적인 인터페이스로 분리하여 유연하고 확장 가능한 시스템을 구축하는 방법론입니다. Librarian 프로젝트는 도서 분류 로직을 내부 도메인으로, 국립중앙도서관의 OpenAPI와 사용자 인터페이스를 외부 인터페이스로 구분하여 설계되었습니다.

Solution Explorer

개발 과정

Librarian 프로젝트는 다음과 같은 개발 과정을 거쳤습니다:

  1. 요구사항 분석 : 도서 분류 시스템에 필요한 기능과 기술적인 요구사항을 도출했습니다.
  2. 아키텍처 설계 : Hexagonal Architecture를 기반으로 시스템을 설계했습니다. 내부 도메인, 외부 인터페이스, 파일 시스템 등의 구성요소를 정의하고, 각 요소 간의 상호작용을 설계했습니다.
  3. 구현 : C# 언어를 사용하여 도서 분류 시스템을 구현했습니다. OpenAPI와의 통신, KDC 체계에 따른 분류 로직, 사용자 인터페이스 등을 개발했습니다.
  4. 배포 : 완성된 프로젝트는 GitHub Repository를 통해 오픈소스로 배포하여 사용자들이 이용하고 개선할 수 있도록 했습니다.

프로젝트의 활용

Librarian 프로젝트는 GitHub Repository에서 다운로드하여 Visual Studio 2022에서 컴파일한 후 사용할 수 있습니다.

  1. GitHub Repository에서 프로젝트를 클론/다운로드합니다.
  2. Librarian.ConsoleApp 프로젝트를 Startup으로 컴파일하여 실행합니다.

자세한 내용은 GitHub Repository에서 확인할 수 있습니다.