# 사내 장비/자재 대여 관리 시스템 PRD (Product Requirements Document)

- 문서 버전: v0.1 (초안)
- 작성일: 2026-07-18
- 개발 플랫폼: Google AI Studio
- 데이터베이스: Firebase

---

## 1. 개요

### 1.1 목적
사내 장비 및 자재(노트북, 데스크탑 등)를 부서 구성원들이 온라인으로 조회·예약·신청하고, 관리자가 이를 승인·관리할 수 있는 웹앱을 구축한다.

### 1.2 배경
- 현재 부서: 생산지원팀, 양조1팀, 양조2팀, 품질보증팀, 설비기술팀
- 부서 목록은 추후 조직 개편에 대비해 관리자가 추가/수정/삭제 가능해야 함

### 1.3 사용 환경
- PC + 모바일 반응형 웹
- 예상 사용자 규모: 30~100명

---

## 2. 사용자 정의

| 구분 | 설명 |
|---|---|
| 일반회원 | 장비를 조회하고 대여 신청하는 일반 사원 |
| 관리자 | 회원, 장비, 신청 현황을 관리하는 담당자 |

- 최초 관리자 1명은 시스템에서 고정 지정
- 이후 해당 관리자가 다른 회원을 관리자로 승격 가능

---

## 3. 회원 관리

### 3.1 가입 방식
- 즉시가입 (가입 즉시 사용 가능)
- 가입 시 부서 선택 필수 → 관리자가 추후 회원목록에서 확인/검증
- 회원 정보 항목: 이름, 이메일(=ID), 부서, 연락처

### 3.2 로그인 방식
- 이메일 주소를 ID로 사용, 비밀번호 로그인
- 최초 가입 시에만 이메일 인증코드로 본인확인
- Google 소셜 로그인 지원
- 비밀번호 분실 시 이메일로 재설정 링크/코드 발송

> 💡 **용어 해설: 소셜 로그인**
> 이메일/비밀번호를 새로 만들지 않고, 이미 가지고 있는 Google 계정으로 로그인하는 방식

### 3.3 회원정보 수정
- 본인이 마이페이지에서 부서 등 정보 직접 수정 가능 (인사이동 대응)

---

## 4. 행위자 1: 일반회원

### 4.1 사용 절차
1. 로그인 후 장비 목록 화면 진입
2. 대분류/중분류/품목명/대여가능여부로 목록 필터링
3. 원하는 품목을 장바구니에 담음 (여러 품목 동시 담기 가능)
4. 품목별로 각각 원하는 대여기간을 캘린더에서 개별 선택
   - 캘린더에는 해당 품목의 대여 불가능 기간이 표시됨
   - 품목별 "최대대여일"을 초과하면 신청 불가
5. 대여 목적/메모 입력 (선택사항)
6. 신청 버튼 클릭 → 신청 완료 (상태: 대기)
7. 나의 신청현황에서 상태 확인 가능 (대기/승인/반려/반납대기/반납완료)
8. 관리자 승인 시 인앱 알림 수신
9. 반납예정일 초과 시 인앱 알림(독촉) 수신
10. "대기" 상태인 신청 건은 본인이 직접 취소 가능

### 4.2 필요 기능
- 장비 목록 조회/필터/검색
- 장바구니 방식 다중 품목 신청
- 품목별 개별 대여기간 캘린더 선택 (불가기간 표시, 선착순 방식)
- 나의 신청현황 조회
- 신청 취소 (대기 상태만)
- 인앱 알림함 (승인/반려/반납독촉)
- 마이페이지 (개인정보 수정, 부서 변경)

---

## 5. 행위자 2: 관리자

### 5.1 사용 절차 및 기능
1. 회원 가입 정보(부서 등) 확인 및 관리
2. 회원을 관리자로 승격 가능
3. 부서 목록 추가/수정/삭제
4. 장비 목록 데이터 등록/수정
   - 수동 입력
   - 엑셀 업로드 (템플릿 다운로드 제공, 신규 등록 + 기존 데이터 일괄 수정 가능)
5. 전체 장비 목록 관리 (상태: 가능/대여중)
6. 회원 대여 신청 승인/반려/취소/변경 (모든 상태에서 처리 가능, 사유 입력 불필요)
7. 반납예정일 초과 건에 한해:
   - 시스템이 자동으로 1회 독촉 알림 발송
   - 이후 추가 독촉은 관리자가 수동 발송
8. 통계 대시보드 확인
   - 부서별 대여건수, 반납지연건수
   - 대분류/중분류/품목별 대여빈도
   - 기간 필터: 주/월/분기/년 단위
   - 표 + 그래프(차트) + 엑셀 다운로드 모두 지원

### 5.2 필요 기능
- 회원 관리 (승인정보 확인, 관리자 승격)
- 부서 관리 (추가/수정/삭제)
- 장비 목록 관리 (수동 등록/수정, 엑셀 업로드-템플릿 기반)
- 신청 관리 (승인/반려/취소/변경, 전체 상태 대상)
- 반납 독촉 발송 (자동 1회 + 수동 추가)
- 통계 대시보드 (표/그래프/엑셀 다운로드)

---

## 6. 데이터 구조

### 6.1 장비 목록

| 고유번호 | 장비명 | 대분류 | 중분류 | 소분류 | 장소 | 상태 | 최대대여일 |
|---|---|---|---|---|---|---|---|
| 노트북-01 | 맥북 프로 14 | IT기기 | 노트북 | 맥북 | 3층 창고 | 가능 | 4 |
| 노트북-02 | LG 그램 16 | IT기기 | 노트북 | 윈도우 노트북 | 3층 창고 | 대여중 | 3 |
| 데스크탑-01 | HP 프로데스크 미니 | IT기기 | 데스크탑 | 미니PC | 4층 IT실 | 가능 | 4 |

- 상태값: 가능 / 대여중 (2가지)
- 대분류/중분류는 초기 설정 후 고정 (관리자가 임의 추가 불가)
- 동일 장비가 여러 대인 경우 고유번호를 개별 부여하여 개별 재고로 관리 (예: 노트북-01, 노트북-02)

### 6.2 회원 정보

| 이름 | 이메일(ID) | 부서 | 연락처 | 권한 |
|---|---|---|---|---|
| 홍길동 | hong@company.com | 생산지원팀 | 010-0000-0000 | 일반회원 |

### 6.3 신청 정보

| 신청ID | 신청자 | 품목(고유번호) | 대여기간(시작~종료) | 목적/메모 | 상태 | 신청일 |
|---|---|---|---|---|---|---|
| - | - | - | - | (선택) | 대기/승인/반려/반납대기/반납완료 | - |

- 신청 이력은 영구 보관 (삭제 없음)

---

## 7. 정책 요약

| 항목 | 정책 |
|---|---|
| 승인 방식 | 관리자 승인 필요 (자동승인 없음) |
| 중복신청 | 선착순, 신청 시 해당 기간 캘린더 자동 비활성화 |
| 대여기간 | 시작~종료일 직접 선택, 품목별 최대대여일 초과 불가 |
| 반납 | 기간 종료 시 자동 "반납대기" 전환 → 관리자 수동 "반납완료" 확인 |
| 연체 페널티 | 없음 (독촉 알림만 발송, 신규 신청 제한 없음) |
| 취소/변경 권한 | 사용자(대기 상태만) / 관리자(전체 상태) |
| 신청 시 사유 입력 | 불필요 (반려/취소 시에도 사유 입력 없음) |

---

## 8. 화면(메뉴) 구성

### 일반회원
1. 장비 목록/신청 (장바구니 포함)
2. 나의 신청현황
3. 알림함
4. 마이페이지(내 정보)

### 관리자
1. 회원 관리
2. 장비 목록 관리 (등록/수정/엑셀)
3. 신청 관리 (승인/반려/변경)
4. 통계 대시보드
5. 알림 발송 (수동 독촉)

---

## 9. 알림 정책

- 방식: 인앱 알림만 (웹푸시/문자 미사용)
- 알림 종류
  1. 신청 승인
  2. 신청 반려
  3. 반납 독촉 (반납예정일 초과 시 자동 1회 + 관리자 수동 추가)

---

## 10. 비기능 요구사항

| 항목 | 내용 |
|---|---|
| 디자인 | 추후 결정, 현재는 기능 구현 우선 |
| 데이터 저장 | Firebase 사용 |
| 이미지 첨부 | 미사용 (텍스트 정보만) |
| 데이터 보관 | 신청 이력 영구 보관 |
| 사용 환경 | PC + 모바일 반응형 |

---

## 11. 향후 논의/미결 항목
*(추가 논의를 통해 채워질 예정)*

---

> 💡 **용어 해설 모음**
> - **PRD (Product Requirements Document)**: 앱이 어떤 기능을 갖고, 누가 어떻게 사용하는지 정리한 기획 문서
> - **Firebase**: 구글에서 제공하는 클라우드 데이터베이스 서비스, 로그인/저장/알림 기능을 서버 구축 없이 구현 가능
> - **반응형(Responsive)**: 하나의 웹사이트가 PC/모바일 화면 크기에 맞춰 자동으로 레이아웃이 바뀌는 방식
> - **대시보드(Dashboard)**: 숫자·그래프로 현황을 한눈에 보여주는 화면
