도자 공방 운영 허브 기능 요구사항 문서
1. 제품 개요
한 줄 콘셉트
회원 20명 이상을 운영하는 생활도자 공방의 대표 운영자와 보조 강사가 작품 번호를 기준으로 작품의 주인, 사진, 현재 제작 단계, 선반 칸을 관리하고, 회원이 자신의 작품 진행 상태와 예상 완성 시점을 확인하는 웹 서비스다.
개발 대상
- 형태: Next.js 기반 반응형 웹
- 우선 사용 환경: 공방 현장의 모바일 웹
- 주요 운영 규모
- 회원 약 40명
- 월 작품 약 130점
- 대표 운영자와 보조 강사가 함께 사용
- 별도 모바일 앱과 앱 스토어 배포는 포함하지 않는다.
2. 사용자와 권한
| 사용자 | 주요 권한 |
|---|---|
| 대표 운영자 | 공방 작업 기준 설정, 회원 및 회원권 관리, 작품 등록·수정, 단계·선반 칸 변경, 다음 가마 후보 선택 |
| 보조 강사 | 회원 조회·등록, 회원권 조회·변경, 작품 등록·수정, 단계·선반 칸 변경, 다음 가마 후보 선택 |
| 회원 | 본인에게 연결된 작품의 사진, 현재 제작 단계, 예상 완성 시점, 완성 여부 조회 |
| 별도 승인 담당자 | 첫 개발 범위에 포함하지 않음 |
대표 운영자와 보조 강사는 같은 운영 데이터를 사용하지만, 공방 작업 기준 설정은 대표 운영자만 변경하는 것을 기본으로 한다.
3. 첫 개발 범위
포함
- 대표 운영자·보조 강사 로그인
- 회원 본인 확인과 회원 전용 웹 조회
- 공방별 선반·선반 칸과 단계별 기본 소요 기간 설정
- 회원 등록 및 조회
- 회원권 종류, 잔여 횟수, 유효기간 관리
- 작품 번호·회원·사진·현재 제작 단계·선반 칸 등록
- 작품 번호 검색과 작품 상세 조회
- 작품 단계 및 선반 칸 변경 이력
- 여러 작품의 단계 및 선반 칸 일괄 변경
- 초벌 대기·재벌 대기 작품 수 확인
- 다음 가마 후보 비교와 후보 선택
- 예상 완성 시점 자동 계산
- 현재 보관 중인 작품을 등록하는 초기 설정
후속 개발 범위
| 기능 | 후속 처리 방향 |
|---|---|
| 가마 회차, 가마 배치, 적재와 소성 계획 | 첫 개발에서는 다음 가마 후보 선택까지만 제공 |
| 채움 비율 자동 계산 | 가마 크기와 작품별 부피 계산 기준 확정 후 추가 |
| 흙값·유약값과 수납 여부 | 실제 결제 없이 기록 기능만 후속 추가 |
| 실제 결제 | 서비스에서 처리하지 않고 기존 계좌이체 유지 |
| 문제 작품 처리 기록 | 파손 원인, 사진, 보상·재제작 여부와 처리 결과 기록 |
| 작품 완성 알림 | 웹 조회 검증 후 추가 |
| 카카오톡 완성 알림 | 사업자 채널과 알림톡 템플릿 승인 후 추가 |
| 할인 금액 자동 계산 | 회원권 잔여 횟수 검증 이후 범위 확정 |
4. 공통 업무 규칙
작품 번호
- 작품 번호는 작품의 굽 바닥에 굽기 전에 새긴다.
- 기본 형식은
2608-01처럼 제작 연월 4자리, 하이픈, 순번 2자리로 구성한다. - 작품 번호는 일곱 자를 넘기지 않는다.
- 같은 생활도자 공방 안에서는 중복할 수 없다.
- 다른 생활도자 공방끼리는 같은 작품 번호를 사용할 수 있다.
- 작품 번호만으로는 주인을 알 수 없으며, 서비스에서 회원과 연결한다.
- 작품 번호를 수정하면 이전 번호와 새 번호를 모두 기록한다.
현재 제작 단계
첫 개발의 기본 단계는 다음과 같다.
- 건조
- 초벌 대기
- 초벌 완료
- 시유
- 재벌 대기
- 완성
초벌 대기와 재벌 대기는 서로 다른 목록으로 관리한다. 두 종류의 작품을 같은 가마 후보 목록에 섞지 않는다.
선반과 선반 칸
- 선반은 공정별로 등록한다.
- 작품 위치는
초벌 대기 2번 선반 1칸처럼 선반과 선반 칸을 함께 기록한다. - 현재 제작 단계를 변경할 때 해당 단계에 연결된 선반 칸만 선택할 수 있다.
- 같은 단계에서 선반 칸만 옮기는 것도 위치 변경 이력으로 남긴다.
- 작품이 남아 있는 선반이나 선반 칸은 바로 삭제할 수 없다.
예상 완성 시점
- 공방은 각 현재 제작 단계에서 완성까지 필요한 기본 소요 기간을 설정한다.
- 가마 예정일이 없으면 마지막 단계 변경일과 단계별 기본 소요 기간을 기준으로 계산한다.
- 초벌 대기 또는 재벌 대기 작품에 가마 예정일이 입력되면 해당 날짜를 우선해 다시 계산한다.
- 완성 작품에는 예상 날짜 대신
완성을 표시한다. - 운영자 화면과 회원 화면은 같은 계산 결과를 사용한다.
5. 기능 요구사항
FR-001 로그인과 역할별 접근
- 주체: 대표 운영자, 보조 강사, 회원
- 시작 조건: 사용자가 서비스 접속 URL 또는 회원 전용 웹 조회 URL에 접속한다.
- 정상 흐름:
- 대표 운영자와 보조 강사는 발급된 운영 계정으로 로그인한다.
- 로그인한 계정의 생활도자 공방과 역할을 확인한다.
- 대표 운영자와 보조 강사는 운영자 대시보드로 이동한다.
- 회원은 공방에서 전달받은 회원 전용 초대 주소와 최초 접근 코드를 사용해 본인 확인을 한다.
- 회원은 본인에게 연결된 회원 전용 내 작품 조회로 이동한다.
- 예외 흐름:
- 계정 정보가 일치하지 않으면 로그인하지 않고 오류를 표시한다.
- 비활성화된 계정이나 만료된 최초 접근 코드는 사용할 수 없다.
- 회원이 다른 회원 또는 다른 생활도자 공방의 주소로 접근하면 조회를 차단한다.
- 권한이 없는 화면 주소를 직접 입력해도 서버에서 접근을 거부한다.
- 완료 조건: 사용자가 자신의 역할에 맞는 첫 화면에 도착하고, 허용된 데이터만 조회할 수 있다.
FR-002 초기 설정 진행
- 주체: 대표 운영자
- 시작 조건: 대표 운영자가 생활도자 공방 계정으로 처음 로그인하거나 초기 설정을 다시 연다.
- 정상 흐름:
- 공방 작업 기준 설정 상태를 확인한다.
- 공정별 선반과 선반 칸을 등록한다.
- 단계별 기본 소요 기간을 등록한다.
- 현재 회원을 등록한다.
- 현재 보관 중인 작품을 회원, 현재 제작 단계, 선반 칸과 연결해 등록한다.
- 단계별 등록 작품 수와 위치 미등록 작품 수를 확인한다.
- 대표 운영자가 현재 데이터 등록 범위를 확인하고 운영 시작을 확정한다.
- 예외 흐름:
- 선반 칸이나 단계별 소요 기간이 없으면 설정 미완료 항목을 표시한다.
- 작품 번호 중복이나 필수 정보 누락이 있으면 해당 작품은 등록 완료로 계산하지 않는다.
- 입력을 중단하면 현재 진행 상태를 저장하고 다음 접속 때 이어서 진행한다.
- 완료 조건: 공방 작업 기준이 설정되고, 대표 운영자가 현재 회원과 작품의 등록 범위를 확인한 뒤 운영 시작 상태로 전환한다.
FR-003 공방 작업 기준 설정
- 주체: 대표 운영자
- 시작 조건: 대표 운영자가 초기 설정 또는 운영자 대시보드에서 공방 작업 기준 설정을 연다.
- 정상 흐름:
- 건조, 초벌 대기, 초벌 완료, 시유, 재벌 대기, 완성에 사용할 선반을 등록한다.
- 각 선반의 번호와 선반 칸을 등록한다.
- 필요하면 선반 사진을 촬영하거나 업로드한다.
- 현재 제작 단계별 기본 소요 기간을 입력한다.
- 변경 내용을 저장한다.
- 예외 흐름:
- 같은 선반 안에서 동일한 선반 칸 번호를 중복 등록할 수 없다.
- 작품이 배치된 선반이나 선반 칸은 삭제할 수 없다.
- 작품이 있는 선반을 다른 단계로 변경하려면 먼저 작품을 유효한 선반 칸으로 옮겨야 한다.
- 기본 소요 기간이 없는 단계는 예상 완성 시점을 계산할 수 없다고 표시한다.
- 완료 조건: 작품 등록 화면에서 현재 제작 단계에 맞는 선반 칸을 선택할 수 있고 예상 완성 시점을 계산할 기준이 준비된다.
FR-004 회원 등록과 조회
- 주체: 대표 운영자, 보조 강사
- 시작 조건: 운영자가 회원 목록과 회원 상세 또는 작품 등록 화면에서 회원을 찾는다.
- 정상 흐름:
- 회원명이나 회원 식별 정보로 기존 회원을 검색한다.
- 기존 회원이 없으면 새 회원을 등록한다.
- 회원 상세에서 회원권, 잔여 횟수, 유효기간과 연결된 작품을 확인한다.
- 회원 전용 웹 조회를 사용할 회원에게 최초 접근 정보를 발급한다.
- 예외 흐름:
- 이름이 같은 회원이 있으면 회원 식별 정보와 연결 작품을 함께 보여 주어 잘못 선택하지 않게 한다.
- 비활성 회원은 새 작품의 기본 선택 목록에서 제외하되 기존 작품과 이력은 유지한다.
- 다른 생활도자 공방의 회원은 검색 결과에 표시하지 않는다.
- 완료 조건: 회원이 해당 생활도자 공방에 등록되고 회원 상세와 작품 등록 화면에서 선택할 수 있다.
FR-005 회원권과 잔여 횟수 관리
- 주체: 대표 운영자, 보조 강사
- 시작 조건: 운영자가 회원 상세에서 회원권 등록 또는 수정을 선택한다.
- 정상 흐름:
- 월 정기권, 10회권 또는 공방이 사용하는 회원권 이름을 입력한다.
- 잔여 횟수와 유효기간을 입력한다.
- 체험 후 등록 할인처럼 별도 구분이 필요하면 회원권 이름이나 메모에 기록한다.
- 잔여 횟수를 변경하면 변경 전후 횟수, 변경자, 변경 시각을 기록한다.
- 회원 상세와 메인 화면에서 최신 잔여 횟수를 표시한다.
- 예외 흐름:
- 잔여 횟수를 음수로 저장할 수 없다.
- 유효기간이 지난 회원권은
기간 만료로 표시한다. - 대표 운영자와 보조 강사가 동시에 수정한 경우 먼저 저장된 최신 값을 다시 확인하게 한다.
- 차감 사유가 없으면 변경을 저장하지 않는다.
- 완료 조건: 회원의 현재 회원권 종류, 잔여 횟수, 유효기간과 변경 이력을 확인할 수 있다.
- 확인 필요: 예약 기능이 없으므로 첫 개발에서는 잔여 횟수를 자동 차감하지 않고 운영자가 직접 변경한다.
FR-006 작품 번호 생성, 중복 검사와 정정
- 주체: 대표 운영자, 보조 강사
- 시작 조건: 운영자가 새 작품을 등록하거나 기존 작품 번호를 수정한다.
- 정상 흐름:
- 서비스가 제작 연월을 기준으로 다음 작품 번호를 제안한다.
- 운영자는 굽 바닥에 새긴 번호와 화면의 번호가 같은지 확인한다.
- 저장 전에 같은 생활도자 공방 안의 중복 여부를 검사한다.
- 번호가 유효하면 작품에 연결한다.
- 기존 번호를 정정하면 이전 번호, 새 번호, 변경자, 변경 시각을 기록한다.
- 예외 흐름:
- 같은 생활도자 공방에 동일한 작품 번호가 있으면 저장하지 않는다.
- 일곱 자를 넘거나 정해진 형식과 다르면 수정 안내를 표시한다.
- 다른 생활도자 공방의 같은 번호는 중복으로 처리하지 않는다.
- 다른 사용자가 먼저 동일 번호를 등록한 경우 최신 중복 검사 결과를 보여 준다.
- 완료 조건: 모든 작품이 생활도자 공방 안에서 중복되지 않는 작품 번호를 가지며, 정정 전 번호도 확인할 수 있다.
- 확인 필요:
2608-01부터 숫자 순번만 사용하면 월 최대 99점이어서 월 작품 약 130점을 처리할 수 없다. 첫 개발 가정은01~99이후 두 자리 영문·숫자 조합을 사용하는 것이다. 운영 전 최종 규칙을 확정해야 한다.
FR-007 작품 등록·수정
- 주체: 대표 운영자, 보조 강사
- 시작 조건: 회원 상세, 단계별 작품 목록, 작품 상세 또는 초기 설정에서 작품 등록·수정을 선택한다.
- 정상 흐름:
- 작품 번호와 회원을 선택한다.
- 작품 사진을 모바일 웹에서 촬영하거나 기존 사진을 업로드한다.
- 현재 제작 단계를 선택한다.
- 해당 단계에서 사용할 수 있는 선반과 선반 칸을 선택한다.
- 다음 가마 후보 비교를 위해 작품 크기와 높이를 입력할 수 있다.
- 초벌 대기 또는 재벌 대기 작품에는 가마 예정일을 선택적으로 입력할 수 있다.
- 저장하면 예상 완성 시점을 계산한다.
- 예외 흐름:
- 작품 번호, 회원, 작품 사진, 현재 제작 단계 또는 선반 칸이 없으면 저장하지 않는다.
- 현재 제작 단계와 맞지 않는 선반 칸은 선택할 수 없다.
- 사진 업로드가 실패하면 작품 정보는 임시 상태로 유지하고 다시 업로드할 수 있게 한다.
- 저장 전 마지막 수정 시각이 달라졌으면 다른 사용자의 최신 변경 내용을 먼저 보여 준다.
- 완료 조건: 작품 한 점이 회원, 작품 번호, 사진, 현재 제작 단계, 선반 칸과 연결되어 검색과 목록에 표시된다.
- 가정: 같은 회원이 컵 세 개를 만들면 작품 세 점을 각각 등록한다.
FR-008 작품 번호 검색과 작품 상세 조회
- 주체: 대표 운영자, 보조 강사
- 시작 조건: 운영자가 운영자 대시보드, 메인 화면 또는 단계별 작품 목록에서 작품 번호를 입력한다.
- 정상 흐름:
- 현재 생활도자 공방 안에서 작품 번호를 검색한다.
- 일치하는 작품의 사진, 회원, 현재 제작 단계, 선반 칸을 표시한다.
- 예상 완성 시점과 회원권 잔여 횟수를 함께 표시한다.
- 단계 변경 이력, 위치 변경 이력과 작품 번호 정정 기록을 확인한다.
- 필요하면 작품 수정 또는 단계·선반 칸 변경을 시작한다.
- 예외 흐름:
- 일치하는 번호가 없으면 입력 번호를 유지한 상태로
등록된 작품이 없습니다를 표시한다. - 일부 번호만 입력한 경우 해당 생활도자 공방 안의 후보 번호만 보여 준다.
- 다른 생활도자 공방의 작품은 검색되지 않는다.
- 일치하는 번호가 없으면 입력 번호를 유지한 상태로
- 완료 조건: 운영자가 작품 번호 하나로 작품의 주인, 사진, 현재 제작 단계와 실제 선반 칸을 확인할 수 있다.
FR-009 단계별 작품 목록 조회
- 주체: 대표 운영자, 보조 강사
- 시작 조건: 운영자가 메인 화면 또는 운영자 대시보드에서 현재 제작 단계의 작품 수를 선택한다.
- 정상 흐름:
- 선택한 현재 제작 단계의 작품을 목록으로 표시한다.
- 각 작품에 작품 사진 미리보기, 작품 번호, 회원명, 현재 제작 단계, 선반 칸과 예상 완성 시점을 표시한다.
- 현재 제작 단계, 선반, 회원명과 작품 번호로 목록을 좁힌다.
- 여러 작품을 선택해 일괄 변경하거나 작품 상세를 연다.
- 예외 흐름:
- 조건에 맞는 작품이 없으면 빈 목록과 필터 해제 버튼을 표시한다.
- 작품 사진이 없거나 불러오지 못하면 대체 이미지를 표시하고 누락 상태를 알린다.
- 비활성 선반에 남아 있는 작품은 경고 표시를 붙인다.
- 완료 조건: 운영자가 현재 제작 단계와 선반 칸을 기준으로 필요한 작품을 찾고 다음 작업을 시작할 수 있다.
FR-010 작품 단계와 선반 칸 변경
- 주체: 대표 운영자, 보조 강사
- 시작 조건: 운영자가 작품 상세 또는 단계별 작품 목록에서 단계 변경이나 위치 변경을 선택한다.
- 정상 흐름:
- 새 현재 제작 단계 또는 새 선반 칸을 선택한다.
- 현재 제작 단계를 바꾸면 새 단계와 연결된 선반 칸을 함께 선택한다.
- 변경 내용을 확인하고 저장한다.
- 이전 단계와 새 단계, 이전 선반 칸과 새 선반 칸, 변경자, 변경 시각을 이력에 추가한다.
- 예상 완성 시점을 다시 계산한다.
- 예외 흐름:
- 새 현재 제작 단계와 맞지 않는 선반 칸은 저장할 수 없다.
- 현재 제작 단계를 이전 단계로 되돌릴 때는 정정 사유를 입력한다.
- 다른 사용자가 먼저 변경한 경우 최신 단계와 선반 칸을 다시 보여 준다.
- 저장 실패 시 기존 값은 유지하고 변경 내용을 다시 시도할 수 있게 한다.
- 완료 조건: 작품의 현재 제작 단계와 실제 선반 칸이 최신 값으로 표시되고 모든 변경 내용이 이력에 남는다.
FR-011 여러 작품 상태 한꺼번에 변경
- 주체: 대표 운영자, 보조 강사
- 시작 조건: 운영자가 단계별 작품 목록에서 두 점 이상의 작품을 선택한다.
- 정상 흐름:
- 선택한 작품 번호와 현재 상태를 확인한다.
- 변경할 현재 제작 단계와 선반 칸을 지정한다.
- 저장 전에 작품별 중복, 최신 수정 시각과 단계·선반 칸 조건을 검사한다.
- 조건을 통과한 작품의 상태를 변경하고 이력을 남긴다.
- 성공한 작품과 실패한 작품을 나눠 결과를 표시한다.
- 예외 흐름:
- 일부 작품만 조건을 통과하면 해당 작품만 저장한다.
- 실패한 작품은 작품 번호와 실패 이유를 보여 준다.
- 초벌 대기 작품과 재벌 대기 작품을 동시에 가마 관련 단계로 변경하려 하면 분리해서 처리하도록 안내한다.
- 변경 대상이 없으면 저장 버튼을 활성화하지 않는다.
- 완료 조건: 성공 작품의 현재 제작 단계와 선반 칸이 일괄 변경되고, 실패 작품은 원래 상태를 유지한다.
FR-012 운영자 대시보드와 한 화면 관리
- 주체: 대표 운영자, 보조 강사
- 시작 조건: 운영자가 로그인하거나 메인 화면을 연다.
- 정상 흐름:
- 건조, 초벌 대기, 초벌 완료, 시유, 재벌 대기, 완성 작품 수를 표시한다.
- 초벌 대기와 재벌 대기 작품 수를 별도로 표시한다.
- 오늘 확인할 작품과 회원을 표시한다.
- 다음 가마 후보 목록의 일부를 표시한다.
- 작품을 선택하면 사진, 선반 칸, 회원과 회원권 잔여 횟수를 같은 화면에서 확인한다.
- 작품 등록, 작품 번호 검색, 단계별 작품 목록과 다음 가마 후보 비교로 이동한다.
- 예외 흐름:
- 등록된 작품이 없으면 초기 설정 또는 작품 등록으로 안내한다.
- 단계나 선반 칸이 누락된 작품은 별도 경고 영역에 표시한다.
- 회원권이 없거나 잔여 횟수를 사용하지 않는 회원은
등록된 회원권 없음으로 표시한다.
- 완료 조건: 운영자가 한 화면에서 작품 진행 상태, 다음 가마 후보, 선택한 작품 회원의 잔여 횟수를 확인할 수 있다.
- 가정: 첫 개발의
오늘 할 일은 예상 완성 시점이 지났지만 완성되지 않은 작품, 위치·사진 누락 작품, 잔여 횟수 0회 또는 유효기간 만료 회원으로 구성한다.
FR-013 가마 대기 작품 확인
- 주체: 대표 운영자, 보조 강사
- 시작 조건: 운영자가 운영자 대시보드, 메인 화면 또는 단계별 작품 목록을 연다.
- 정상 흐름:
- 초벌 대기 작품 수를 계산한다.
- 재벌 대기 작품 수를 별도로 계산한다.
- 각 수를 선택하면 해당 단계의 작품 목록으로 이동한다.
- 작품 사진, 작품 번호, 선반 칸, 대기 시작일을 확인한다.
- 예외 흐름:
- 현재 제작 단계가 없거나 잘못된 작품은 가마 대기 수에 포함하지 않고 누락 경고로 표시한다.
- 초벌 대기와 재벌 대기 작품을 같은 목록으로 합치지 않는다.
- 완료 조건: 운영자가 눈으로 선반을 세지 않고 초벌 대기와 재벌 대기 작품 수를 각각 확인할 수 있다.
FR-014 다음 가마 후보 비교와 선택
- 주체: 대표 운영자, 보조 강사
- 시작 조건: 운영자가 다음 가마 후보 비교를 연다.
- 정상 흐름:
- 초벌 대기와 재벌 대기를 별도 탭이나 영역으로 표시한다.
- 각 작품의 사진, 작품 번호, 회원, 선반 칸, 작품 크기와 높이를 표시한다.
- 공정별 선반 사진을 함께 열어 현재 선반 상태와 비교한다.
- 운영자가 다음 가마에 검토할 작품을 후보로 선택한다.
- 선택 결과를 저장하고 메인 화면에 반영한다.
- 예외 흐름:
- 작품 크기나 높이가 없으면
미입력을 표시하되 후보 선택 자체는 막지 않는다. - 초벌 대기 작품을 재벌 후보로 선택하거나 반대로 선택할 수 없다.
- 다른 사용자가 후보 상태를 변경했으면 최신 결과를 다시 불러온다.
- 작품 크기나 높이가 없으면
- 완료 조건: 운영자가 초벌과 재벌을 분리해 작품 사진, 크기, 높이와 선반 사진을 비교하고 다음 가마 후보를 저장할 수 있다.
- 제외 조건: 가마 회차 생성, 가마 내부 적재 위치, 채움 비율 계산, 점화 일정과 소성 계획은 처리하지 않는다.
- 확인 필요: 작품 크기는 가로·세로, 높이는 센티미터 단위로 선택 입력하는 것을 첫 개발 가정으로 한다.
FR-015 예상 완성 시점 자동 계산
- 주체: 시스템, 대표 운영자, 보조 강사
- 시작 조건: 작품 등록, 현재 제작 단계 변경, 가마 예정일 변경 또는 단계별 기본 소요 기간 변경이 발생한다.
- 정상 흐름:
- 작품의 현재 제작 단계와 마지막 단계 변경일을 확인한다.
- 가마 예정일이 없으면 단계별 기본 소요 기간을 적용한다.
- 초벌 대기 또는 재벌 대기 작품에 가마 예정일이 있으면 가마 예정일을 우선 기준으로 사용한다.
- 예상 완성 시점을 다시 계산해 작품에 저장한다.
- 운영자 화면과 회원 화면에 같은 날짜를 표시한다.
- 예외 흐름:
- 필요한 기본 소요 기간이 없으면
예상 시점 계산 기준 없음을 표시한다. - 완성 상태에서는 예상 날짜 대신
완성을 표시한다. - 예상 완성 시점이 지났지만 완성되지 않은 작품은
예상일 지남을 함께 표시한다. - 계산 중 오류가 발생하면 이전 날짜를 확정값처럼 표시하지 않고 재계산 필요 상태를 표시한다.
- 필요한 기본 소요 기간이 없으면
- 완료 조건: 같은 작품의 예상 완성 시점이 운영자 화면과 회원 화면에서 동일하게 표시된다.
- 가정: 기본 소요 기간은 달력 날짜 기준으로 계산하며 휴무일 제외 계산은 후속 범위로 둔다.
FR-016 회원 전용 내 작품 조회
- 주체: 회원
- 시작 조건: 회원이 본인 확인을 마치고 회원 전용 내 작품 조회에 접속한다.
- 정상 흐름:
- 로그인한 회원과 생활도자 공방의 연결 관계를 서버에서 확인한다.
- 해당 회원에게 연결된 작품만 조회한다.
- 각 작품의 사진, 작품 번호, 현재 제작 단계, 예상 완성 시점과 완성 여부를 표시한다.
- 작품을 선택하면 큰 사진과 현재 진행 정보를 확인한다.
- 예외 흐름:
- 연결된 작품이 없으면
현재 조회할 작품이 없습니다를 표시한다. - 다른 회원의 작품 주소를 입력하면 접근을 차단한다.
- 사진 주소만 직접 입력해도 로그인과 작품 소유 관계를 확인한다.
- 예상 완성 시점을 계산할 수 없으면 현재 제작 단계만 보여 주고
완성 시점 확인 중을 표시한다.
- 연결된 작품이 없으면
- 완료 조건: 회원이 운영자에게 카카오톡으로 묻지 않고 본인 작품의 사진, 현재 제작 단계와 예상 완성 시점을 확인할 수 있다.
6. 화면 요구사항
UIR-001 로그인과 회원 본인 확인
- 목적: 대표 운영자와 보조 강사를 운영 화면으로 연결하고 회원을 본인 작품 조회로 연결한다.
- 연결 기능: FR-001
- 주요 구성:
- 운영자 로그인 영역
- 회원 전용 본인 확인 영역
- 입력 오류와 만료 안내
- 완료 조건: 역할 확인 후 운영자는 운영자 대시보드, 회원은 회원 전용 내 작품 조회로 이동한다.
UIR-002 초기 설정
- 목적: 첫 도입 시 공방 작업 기준, 회원과 현재 보관 중인 작품을 순서대로 등록한다.
- 연결 기능: FR-002, FR-003, FR-004, FR-007
- 주요 구성:
- 단계별 진행 표시
- 선반·선반 칸 설정 상태
- 회원 등록 수
- 현재 작품 등록 수
- 위치·사진 누락 작품 수
저장하고 다음 작품 등록버튼
- 완료 조건: 대표 운영자가 누락 항목을 확인하고 운영 시작을 확정할 수 있다.
UIR-003 운영자 대시보드
- 목적: 단계별 작품 수와 오늘 할 일을 빠르게 확인한다.
- 연결 기능: FR-012, FR-013
- 주요 구성:
- 현재 제작 단계별 작품 수
- 초벌 대기·재벌 대기 작품 수
- 오늘 할 일
- 작품 번호 검색
- 작품 등록 바로가기
- 다음 가마 후보 비교 바로가기
- 완료 조건: 운영자가 로그인 후 필요한 작업 화면을 한 번의 선택으로 열 수 있다.
UIR-004 메인 화면
- 목적: 단계별 작품과 선반 위치, 다음 가마 후보와 회원권 잔여 횟수를 한 화면에서 확인한다.
- 연결 기능: FR-008, FR-009, FR-012, FR-013, FR-014
- 주요 구성:
- 건조·초벌 대기·초벌 완료·시유·재벌 대기·완성 영역
- 작품 사진, 작품 번호와 선반 칸
- 선택 작품 상세 패널
- 회원명과 회원권 잔여 횟수
- 다음 가마 후보 요약
- 완료 조건: 작품을 선택한 상태에서 현재 위치, 주인, 잔여 횟수와 다음 작업을 다른 화면으로 이동하지 않고 확인할 수 있다.
UIR-005 단계별 작품 목록
- 목적: 현재 제작 단계별 작품을 찾고 여러 작품 작업을 시작한다.
- 연결 기능: FR-009, FR-011, FR-013
- 주요 구성:
- 현재 제작 단계, 선반, 회원, 작품 번호 필터
- 작품 사진 미리보기
- 작품 번호, 회원명, 선반 칸, 예상 완성 시점
- 여러 작품 선택
- 단계 변경 및 다음 가마 후보 선택
- 완료 조건: 운영자가 조건에 맞는 작품을 찾고 상세 조회나 일괄 변경으로 이동할 수 있다.
UIR-006 작품 등록·수정
- 목적: 작품 번호, 회원, 사진, 현재 제작 단계와 선반 칸을 등록하거나 수정한다.
- 연결 기능: FR-006, FR-007, FR-015
- 주요 구성:
- 작품 번호와 중복 검사 결과
- 회원 선택
- 사진 촬영·업로드
- 현재 제작 단계
- 단계에 맞는 선반·선반 칸
- 작품 크기·높이
- 선택적 가마 예정일
- 예상 완성 시점 미리보기
- 완료 조건: 필수 정보가 유효한 작품이 저장되고 작품 상세에서 바로 조회된다.
UIR-007 작품 번호 검색과 작품 상세
- 목적: 작품 번호 하나로 주인, 사진, 현재 제작 단계와 선반 칸을 확인한다.
- 연결 기능: FR-008, FR-010, FR-015
- 주요 구성:
- 작품 번호 검색
- 작품 사진과 회원명
- 현재 제작 단계와 선반 칸
- 예상 완성 시점
- 회원권 잔여 횟수
- 단계·위치 변경
- 단계 변경 이력, 위치 변경 이력, 작품 번호 정정 기록
- 완료 조건: 검색한 작품의 현재 상태와 마지막 변경자를 확인하고 수정 작업을 시작할 수 있다.
UIR-008 여러 작품 상태 한꺼번에 변경
- 목적: 선택한 여러 작품의 현재 제작 단계와 선반 칸을 한 번에 변경한다.
- 연결 기능: FR-011
- 주요 구성:
- 선택 작품 번호 목록
- 변경 전 상태
- 새 현재 제작 단계와 선반 칸
- 저장 전 확인
- 성공·실패 결과 구분
- 완료 조건: 성공 작품과 실패 작품 번호 및 실패 이유를 결과 화면에서 구분할 수 있다.
UIR-009 회원 목록과 회원 상세
- 목적: 회원을 조회하고 회원권 잔여 횟수와 연결 작품을 확인한다.
- 연결 기능: FR-004, FR-005
- 주요 구성:
- 회원 검색과 신규 등록
- 회원권 종류
- 잔여 횟수와 유효기간
- 잔여 횟수 변경 이력
- 연결된 작품
- 회원 전용 접근 정보 발급
- 완료 조건: 운영자가 회원의 현재 회원권 상태를 확인하고 해당 회원의 작품을 열거나 새 작품을 등록할 수 있다.
UIR-010 회원 전용 내 작품 조회
- 목적: 회원이 본인 작품의 사진, 현재 제작 단계와 예상 완성 시점을 확인한다.
- 연결 기능: FR-016
- 주요 구성:
- 진행 중 작품과 완성 작품 구분
- 작품 사진
- 작품 번호
- 현재 제작 단계
- 예상 완성 시점 또는 완성 상태
- 완료 조건: 회원이 본인 작품만 조회하며 현재 진행 상태를 이해할 수 있다.
UIR-011 다음 가마 후보 비교
- 목적: 초벌 대기와 재벌 대기 작품을 분리해 다음 가마 후보를 선택한다.
- 연결 기능: FR-013, FR-014
- 주요 구성:
- 초벌 대기·재벌 대기 분리 탭
- 작품 사진, 작품 번호와 선반 칸
- 작품 크기와 높이
- 선반 사진 열기
- 후보 선택과 저장
- 크기·높이 미입력 표시
- 완료 조건: 서로 다른 소성 종류가 섞이지 않은 상태로 다음 가마 후보를 저장할 수 있다.
UIR-012 공방 작업 기준 설정
- 목적: 공정별 선반·선반 칸과 단계별 기본 소요 기간을 관리한다.
- 연결 기능: FR-003, FR-015
- 주요 구성:
- 현재 제작 단계별 선반 목록
- 선반 번호와 선반 칸
- 선반 사진
- 단계별 기본 소요 기간
- 작품이 있는 위치의 삭제 차단 안내
- 완료 조건: 설정한 기준이 작품 등록의 선반 칸 선택과 예상 완성 시점 계산에 반영된다.
7. 비기능 요구사항
NFR-001 생활도자 공방별 데이터 분리
- 모든 회원, 작품, 작품 사진, 회원권, 선반과 변경 이력에 생활도자 공방 구분값을 적용한다.
- 화면에서 숨기는 것만으로 접근을 제한하지 않고 모든 조회·수정 요청에서 서버가 공방 권한을 검사한다.
- 다른 생활도자 공방의 동일 작품 번호는 허용하되, 같은 생활도자 공방 안의 중복은 차단한다.
- 검수 기준: 다른 공방 계정으로 작품 주소와 사진 주소에 직접 접근해도 데이터가 반환되지 않는다.
NFR-002 회원 정보와 사진 보호
- 회원은 본인에게 연결된 작품만 조회할 수 있다.
- 작품 사진과 선반 사진은 공개 주소로 직접 제공하지 않는다.
- 로그인 상태와 권한을 확인한 뒤 사진을 제공한다.
- 비밀번호와 최초 접근 코드는 원문으로 저장하지 않는다.
- 운영에 필요하지 않은 회원 개인정보는 필수 입력으로 받지 않는다.
- 검수 기준: 로그아웃 상태 또는 다른 회원 계정으로 사진 주소에 접근하면 조회가 차단된다.
NFR-003 동시 수정과 데이터 무결성
- 대표 운영자와 보조 강사가 같은 작품을 동시에 수정할 수 있으므로 저장 전 마지막 수정 시각을 비교한다.
- 충돌이 있으면 나중 사용자의 저장으로 최신 데이터를 조용히 덮어쓰지 않는다.
- 여러 작품 일괄 변경은 작품별 조건을 검사하고 성공과 실패를 분리한다.
- 현재 제작 단계, 선반 칸, 작품 번호와 잔여 횟수는 직접 삭제하지 않고 정정 이력을 남긴다.
- 검수 기준: 동일 작품의 동시 수정 시험에서 먼저 저장된 변경이 경고 없이 사라지지 않는다.
NFR-004 검색과 화면 응답 성능
- 회원 40명, 월 작품 130점과 누적 작품 데이터를 기준으로 작품 번호, 회원, 현재 제작 단계와 선반 칸에 조회용 색인을 적용한다.
- 작품 번호 검색 결과는 일반적인 공방 인터넷 환경에서 2초 안에 첫 결과를 표시하는 것을 목표로 한다.
- 목록에서는 원본 사진 대신 작은 미리보기 이미지를 사용한다.
- 필터 변경 시 전체 페이지를 다시 불러오지 않고 목록 영역을 갱신한다.
- 검수 기준: 기준 데이터에서 작품 번호 검색과 단계별 목록 진입이 반복적으로 지연되지 않는다.
NFR-005 모바일 웹 사용성
- 작품 번호 검색, 사진 촬영, 현재 제작 단계 변경과 선반 칸 선택을 모바일 화면에서 처리할 수 있어야 한다.
- 주요 버튼은 장갑을 벗은 현장 사용자가 누르기 쉬운 크기와 간격으로 제공한다.
- 자주 쓰는 작품 등록과 작품 번호 검색은 운영자 대시보드에서 바로 시작할 수 있어야 한다.
- 카메라 촬영과 사진 보관함 업로드를 모두 지원한다.
- 검수 기준: 모바일 브라우저에서 화면 가로 스크롤 없이 핵심 등록·검색·변경 작업을 완료할 수 있다.
NFR-006 접근성
- 모든 입력 항목에 화면에서 확인할 수 있는 이름을 제공한다.
- 오류는 색상만으로 구분하지 않고 문장과 표시 아이콘을 함께 사용한다.
- 키보드만으로 로그인, 검색, 작품 등록과 저장 버튼까지 이동할 수 있어야 한다.
- 작품 사진에는 회원 화면에서 이해할 수 있는 대체 설명을 제공한다.
- 검수 기준: 키보드 이동 순서가 화면 순서와 일치하고 필수 입력 오류를 음성 읽기 도구가 식별할 수 있다.
NFR-007 변경 이력과 장애 복구
- 단계 변경, 위치 변경, 작품 번호 정정과 잔여 횟수 변경은 변경자와 변경 시각을 기록한다.
- 운영 데이터는 정기적으로 백업한다.
- 백업 데이터에서 회원, 작품, 현재 제작 단계, 선반 칸과 변경 이력을 복구할 수 있어야 한다.
- 저장 오류가 발생하면 사용자가 입력한 내용을 가능한 범위에서 유지하고 재시도할 수 있게 한다.
- 검수 기준: 시험 데이터 복구 후 현재 값과 변경 이력을 함께 확인할 수 있다.
NFR-008 웹 브라우저 지원
- 별도 앱 설치 없이 모바일과 데스크톱 웹에서 사용한다.
- 최신 버전의 Chrome, Safari와 Edge를 우선 지원한다.
- 카메라 권한을 거부한 사용자는 기존 사진 업로드 방식으로 작품 사진을 등록할 수 있어야 한다.
- 검수 기준: 지원 브라우저에서 로그인, 사진 등록, 작품 검색, 단계 변경과 회원 조회가 정상 동작한다.
8. 출시 전 확인이 필요한 결정
| 항목 | 현재 적용할 가정 | 확인이 필요한 이유 |
|---|---|---|
| 월 100번째 이후 작품 번호 | 숫자 99 이후 두 자리 영문·숫자 조합 사용 | 일곱 자 제한과 월 작품 약 130점을 동시에 만족해야 함 |
| 회원 본인 확인 | 공방이 초대 주소와 최초 접근 코드를 전달하고 회원이 비밀번호 설정 | 외부 문자 인증 없이 첫 웹 조회를 제공하기 위한 가정 |
| 작품 크기 | 가로·세로와 높이를 센티미터로 선택 입력 | 다음 가마 후보 비교에 필요하지만 필수 입력 여부가 확정되지 않음 |
| 잔여 횟수 차감 | 운영자가 사유를 입력해 직접 변경 | 예약·출석 기능이 첫 개발에 없음 |
| 예상 완성 시점 | 달력 날짜를 기준으로 계산 | 휴무일 제외 여부가 확정되지 않음 |
| 기존 작품 이전 | 현재 보관 중인 작품부터 등록 | 검증 시작 전에 등록할 작품 범위를 대표 운영자가 최종 확인해야 함 |
| 채움 비율 | 첫 개발에서는 제공하지 않음 | 가마 크기, 작품 부피와 적재 기준이 필요함 |
9. 첫 개발 완료 판정
다음 업무가 처음부터 끝까지 실제 공방 데이터로 동작하면 첫 개발을 완료한 것으로 본다.
- 대표 운영자와 보조 강사가 각자 로그인한다.
- 현재 회원과 회원권 잔여 횟수를 등록한다.
- 작품 번호
2608-01을 회원, 작품 사진, 건조 단계와 선반 칸에 연결한다. - 작품 번호로 검색해 주인과 실제 선반 칸을 확인한다.
- 작품을 건조에서 초벌 대기로 변경하고 새 선반 칸과 변경 이력을 확인한다.
- 여러 작품을 선택해 현재 제작 단계와 선반 칸을 일괄 변경한다.
- 초벌 대기와 재벌 대기 작품 수를 서로 분리해 확인한다.
- 작품 사진, 크기, 높이와 선반 사진을 비교해 다음 가마 후보를 선택한다.
- 회원이 회원 전용 웹 조회에서 본인 작품의 사진, 현재 제작 단계와 예상 완성 시점을 확인한다.
- 다른 회원이나 다른 생활도자 공방의 작품과 사진은 조회되지 않는다.