**도서관 사서 시스템 (Library System)**은 학교 도서관 관리를 위해 현대화된 데스크탑 애플리케이션입니다. 기존의 불안정한 엑셀 파일 기반 시스템을 대체하여, SQLite 데이터베이스와 Electron을 도입해 안정성과 편의성을 대폭 강화했습니다.
- SQLite 데이터베이스: 수천 권의 도서와 사용자 데이터를 빠르고 안전하게 처리합니다.
- 상세 정보 관리: 도서의 ISBN, 출판사, 분류(KDC), 청구기호 및 사용자의 학번 정보를 체계적으로 관리합니다.
- 일괄 등록 (Import): 학생 명부나 도서 목록을 엑셀 파일로 Drag & Drop 하여 한 번에 등록할 수 있습니다.
- 데이터 백업 (Export): 현재 시스템에 저장된 모든 데이터를 엑셀 파일로 언제든지 다운로드할 수 있습니다.
- 실시간 트랜잭션: 대출 및 반납 기록이 즉시 데이터베이스에 저장되며, 이력 탭에서 조회 가능합니다.
- 오류 방지: 대출 중인 도서의 재대출 방지 등 기본적인 유효성 검사가 포함되어 있습니다.
- 설치형 프로그램:
setup.exe파일을 통해 간편하게 설치하고 바탕화면 아이콘으로 실행합니다. - 독립 실행: 별도의 서버 구동 과정 없이 클릭 한 번으로 서버와 클라이언트가 동시에 실행됩니다.
데이터 일괄 등록(Import) 시 아래의 헤더(첫 번째 줄)를 포함한 엑셀 파일을 사용해야 합니다. (영문/한글 헤더 모두 지원합니다.)
| 필드 (English) | 필드 (한글) | 설명 | 예시 |
|---|---|---|---|
| Title | 제목 | 책 제목 (필수) | 홍길동전 |
| Author | 저자 | 지은이 | 허균 |
| Publisher | 출판사 | 출판사 명 | 민음사 |
| ISBN | ISBN | 국제표준도서번호 | 9788937460449 |
| Category | 분류 | 도서 분류 | 소설 |
| ClassCode | 청구기호 | 도서관 청구기호 | 813.5 허15홍 |
| 필드 (English) | 필드 (한글) | 설명 | 예시 |
|---|---|---|---|
| Name | 이름 | 사용자 이름 (필수) | 김철수 |
| StudentID | 학번 | 학번 또는 사번 | 20240001 |
Tip: '📤 엑셀 다운로드' 버튼을 눌러 현재 데이터를 다운로드받으면, 그 파일을 템플릿으로 사용하여 내용을 수정 후 다시 업로드할 수 있습니다.
- Frontend: React.js
- Backend: Node.js, Express.js
- Database: SQLite3
- Packaging: Electron, Electron-Builder
# 의존성 설치
npm install
# 개발 서버 실행 (React + Electron)
npm run electron:dev# 윈도우용 설치 파일(.exe) 생성
npm run electron:pack생성된 설치 파일은 dist/ 폴더에 위치합니다.
/
├── public/ # 정적 리소스 (아이콘 등)
├── src/ # React 프론트엔드 소스
├── build/ # React 빌드 결과물
├── server.js # Node.js 백엔드 서버
├── main.js # Electron 메인 프로세스
├── verify_backend.js # 검증 스크립트
└── database.sqlite # 로컬 데이터베이스 파일