개발을 맡을 사람의 지도

시스템 구성

화면·서버·저장소·외부 서비스가 어떻게 이어지는지 그림과 함께.

12,102자 · 시스템이 만든 그대로입니다

사람이 손댄 곳 4군데
  • · ‘전체 개발 안내’ 문서의 제목 한 줄에 내부에서 쓰는 단계 이름이 섞여 나와 그 단어만 지웠습니다. 본문은 손대지 않았습니다.
  • · 화면 목록에서 같은 일을 하는 화면이 두 개 만들어져 하나로 합쳤습니다. 3단계의 ‘화면 목록 다듬기’에서 누구나 하는 일입니다.
  • · ‘추가 확인 사항’은 부록 서너 항목만 쓰라고 시켰는데 제품 정의서를 통째로 한 벌 더 썼습니다. 지시를 분명히 고친 뒤 그 문서 하나만 다시 만들었습니다. 사람이 문장을 쓴 것은 아닙니다.
  • · 만들어진 뒤에 두 가지를 더 고쳤습니다. 화면 상태를 확인하는 개발용 링크가 서비스 이름보다 위에 있어 맨 아래로 접어 내렸고, 디자인 계약이 정한 글꼴을 실제로 불러오지 않아 기기마다 글자가 달라 보이던 것을 바로잡았습니다. 둘 다 화면을 보고 눈에 띈 것을 말로 적어 보낸 것입니다.

도자 공방 운영 허브 시스템 구성 문서

1. 구현 목표

생활도자 공방의 대표 운영자와 보조 강사가 작품 번호를 기준으로 회원 작품의 주인, 작품 사진, 현재 제작 단계, 선반 칸을 관리하는 웹 서비스입니다.

회원은 별도 앱 설치 없이 웹에서 본인 작품의 사진, 현재 제작 단계, 예상 완성 시점을 확인합니다.

첫 버전은 아래 업무를 실제 공방 운영에 사용할 수 있게 만드는 데 집중합니다.

  • 작품 등록과 작품 번호 검색
  • 건조·초벌·시유·재벌 등 현재 제작 단계 관리
  • 공정별 선반과 선반 칸 위치 관리
  • 작품 단계와 위치의 변경 이력 관리
  • 회원 조회와 회원권 잔여 횟수 확인
  • 초벌 대기·재벌 대기 작품 수와 다음 가마 후보 비교
  • 회원 전용 내 작품 조회와 예상 완료일 표시

가마 배치·소성 계획, 재료비 청구·수납 기록, 실제 결제, 카카오톡 완료 알림은 후속 버전으로 둡니다.


2. 사용자와 권한

역할할 수 있는 일제한
대표 운영자작품·회원·회원권·선반·공방 작업 기준을 등록하고 수정한다. 운영자 대시보드와 모든 운영 화면을 사용한다.다른 생활도자 공방 데이터는 볼 수 없다.
보조 강사작품 등록, 작품 번호 검색, 단계 변경, 선반 칸 변경, 회원 조회를 한다.대표 운영자와 권한 차이가 필요한지는 운영 후 확인 필요
회원본인에게 연결된 작품의 사진, 현재 제작 단계, 예상 완성 시점을 조회한다.다른 회원의 작품, 선반 위치, 내부 메모, 회원권 정보는 볼 수 없다.

접근 권한 기준

  • 모든 데이터는 생활도자 공방 단위로 분리합니다.
  • 작품 번호는 생활도자 공방 + 작품 번호 조합에서만 중복되지 않게 합니다.
  • 회원은 서버에서 본인과 작품의 연결 관계를 확인한 뒤에만 작품 정보와 작품 사진을 봅니다.
  • 사진 주소를 직접 알아도 로그인 권한이 없으면 다른 회원의 작품 사진을 볼 수 없어야 합니다.

3. 첫 버전 화면과 완료 조건

화면사용 목적핵심 기능완료 조건
로그인과 회원 본인 확인역할에 맞는 화면으로 이동한다.대표 운영자·보조 강사 로그인, 회원 본인 확인운영자는 운영자 대시보드, 회원은 회원 전용 내 작품 조회로 이동한다.
운영자 대시보드오늘 확인할 작품 업무를 빠르게 파악한다.단계별 작품 수, 초벌·재벌 대기 작품 수, 위치 미등록 작품, 회원권 확인 필요 항목운영자가 다음 행동인 작품 검색, 단계별 목록 확인, 회원 조회를 시작할 수 있다.
메인 화면단계별 작품과 선반 위치를 한눈에 확인한다.건조·초벌 대기·시유·재벌 대기·완성 목록 요약작품의 현재 단계와 선반 칸을 바로 확인할 수 있다.
단계별 작품 목록같은 단계의 작품을 찾고 여러 작품을 선택한다.단계, 선반, 회원명, 작품 번호 검색 및 필터운영자가 초벌 대기·재벌 대기 작품 수를 확인하고 작품 상세 또는 일괄 변경으로 이동할 수 있다.
작품 등록·수정새 작품을 공방 관리 체계에 연결한다.작품 번호, 회원, 작품 사진, 현재 제작 단계, 선반 칸 입력같은 생활도자 공방 안에 중복되지 않는 작품 번호로 작품이 저장된다.
작품 번호 검색과 작품 상세실물 작품의 주인과 위치를 즉시 찾는다.작품 번호 검색, 작품 사진, 회원, 현재 제작 단계, 선반 칸, 예상 완료일, 변경 이력작품 번호를 입력하면 주인·사진·현재 위치를 즉시 확인할 수 있다.
여러 작품 상태 한꺼번에 변경같은 공정을 거친 작품을 빠르게 갱신한다.여러 작품 선택, 새 단계·선반 칸 지정성공한 작품과 실패한 작품 번호 및 실패 이유를 구분해 보여 준다.
회원 목록과 회원 상세회원과 회원권 잔여 횟수를 확인한다.회원 검색, 회원권 종류, 잔여 횟수, 유효기간 조회운영자가 특정 회원의 작품과 회원권 잔여 횟수를 함께 확인할 수 있다.
회원 전용 내 작품 조회회원의 카카오톡 문의를 줄인다.내 작품 사진, 현재 제작 단계, 예상 완성 시점회원이 본인 작품만 조회할 수 있다.
다음 가마 후보 비교초벌과 재벌 대기 작품을 나누어 확인한다.초벌 대기·재벌 대기 작품 수, 작품 사진, 크기·높이, 선반 사진 비교운영자가 다음 가마에 검토할 작품 후보를 확인할 수 있다. 가마 배치와 소성 계획은 만들지 않는다.
공방 작업 기준 설정공방별 선반 구조와 예상 완료일 기준을 설정한다.공정별 선반·선반 칸, 단계별 기본 소요 기간 설정작품 등록 시 유효한 선반 칸만 선택되고 예상 완료일 계산에 설정값이 적용된다.
초기 설정기존 운영 자료를 서비스에 옮기고 시작한다.회원, 현재 보관 중인 작품, 현재 제작 단계, 선반 칸 등록 진행 상태대표 운영자가 현재 보관 중인 작품을 등록하고 운영 시작 여부를 확인한다.

4. 시스템 구성

4-1. 시스템 구성도

그림을 그리는 중…

운영자와 회원은 하나의 Next.js 웹 서비스에 접속하지만, 인증·접근 권한에서 역할과 생활도자 공방을 확인한 뒤 서로 다른 화면과 데이터만 봅니다. 작품, 회원, 선반, 이력은 관계형 데이터베이스에 저장하고, 작품 사진과 선반 사진은 별도 파일 저장소에 보관합니다.


4-2. 구성 요소별 책임

구성 요소책임
Next.js 웹 화면모바일 웹 우선 화면을 제공한다. 작품 번호 검색, 사진 촬영·업로드, 단계 변경, 선반 칸 선택을 적은 입력으로 처리한다.
인증·접근 권한대표 운영자, 보조 강사, 회원을 구분한다. 요청마다 공방과 회원 연결 관계를 서버에서 검사한다.
작품 관리 서비스작품 등록, 작품 번호 중복 검사, 작품 검색, 현재 제작 단계와 선반 칸 변경, 변경 이력 저장을 처리한다.
회원·회원권 서비스회원 등록·조회, 회원권 종류, 잔여 횟수, 유효기간과 잔여 횟수 변경 이력을 관리한다.
예상 완료일 서비스공방별 단계별 기본 소요 기간과 가마 예정일 우선 규칙을 적용해 예상 완료일을 계산한다.
사진 접근 서비스작품 사진과 선반 사진을 업로드하고, 권한 확인이 끝난 사용자에게만 사진을 제공한다.
관계형 데이터베이스공방별 핵심 운영 데이터와 이력을 저장한다.
파일 저장소작품 사진과 선반 사진 파일을 저장한다.
인증 서비스로그인, 세션 유지, 회원 본인 확인에 필요한 인증 기능을 제공한다.

5. 주요 데이터 구조

5-1. 핵심 데이터

데이터주요 항목사용 목적
생활도자 공방공방 이름, 공방 식별값다른 생활도자 공방 데이터 분리
사용자이름, 로그인 정보, 역할, 생활도자 공방 식별값대표 운영자·보조 강사 권한 관리
회원이름, 연락처 또는 본인 확인 수단, 생활도자 공방 식별값작품 소유자와 회원 전용 조회 연결
회원권회원권 종류, 잔여 횟수, 유효기간월 정기권·10회권 이용 현황 확인
회원권 잔여 횟수 변경 이력변경 전후 횟수, 변경자, 변경 시각잔여 횟수 변경 오류 확인
작품작품 번호, 회원, 현재 제작 단계, 현재 선반 칸, 예상 완료일, 마지막 수정 시각작품 추적의 기준 데이터
작품 사진작품 식별값, 파일 경로, 촬영·등록 시각실물 작품 확인
선반생활도자 공방, 공정, 선반 번호공방별 선반 구조 관리
선반 칸선반, 칸 번호, 사용 여부실제 작품 보관 위치 선택
단계 변경 이력이전 단계, 새 단계, 변경자, 변경 시각작품 공정 이동 확인
위치 변경 이력이전 선반 칸, 새 선반 칸, 변경자, 변경 시각실제 선반 이동 확인
작품 번호 정정 기록이전 번호, 새 번호, 변경자, 변경 시각번호 오기입 정정 추적
단계별 기본 소요 기간생활도자 공방, 현재 제작 단계, 기본 소요 기간예상 완료일 계산 기준
가마 예정일작품 또는 후속 가마 회차 연결값, 예정일입력된 경우 예상 완료일 계산에 우선 적용
선반 사진선반 또는 선반 칸, 파일 경로다음 가마 후보 비교 시 실물 크기·높이 확인

5-2. 작품 데이터 필수 항목

첫 버전에서 작품을 등록할 때 아래 항목을 필수로 입력합니다.

항목입력 기준
작품 번호2608-01 형식처럼 제작 월과 순번을 사용한다. 같은 생활도자 공방 안에서 중복될 수 없다.
회원기존 회원을 선택하거나 먼저 회원을 등록한다.
작품 사진최소 1장 등록한다.
현재 제작 단계공방이 설정한 단계 중 하나를 선택한다.
선반 칸현재 제작 단계에 맞는 공정별 선반과 선반 칸을 선택한다.
마지막 수정 시각동시에 수정할 때 충돌을 확인하는 기준으로 자동 저장한다.

작품 크기와 높이는 다음 가마 후보 비교에 필요합니다. 첫 버전에서는 입력 여부를 공방 운영 방식에 맞게 확정해야 합니다. 크기·높이를 입력하지 않는 경우에도 작품 사진과 선반 사진을 비교할 수 있어야 합니다.


6. 작품 단계와 위치 변경 규칙

6-1. 기본 제작 단계

첫 버전에서는 공방이 사용하는 단계를 설정할 수 있게 하되, 기본 흐름은 아래와 같이 제공합니다.

건조
→ 초벌 대기
→ 초벌 완료
→ 시유
→ 재벌 대기
→ 재벌 완료
→ 완성
  • 초벌 대기 작품과 재벌 대기 작품은 목록과 수량을 분리해 보여 줍니다.
  • 초벌과 재벌은 섞어서 굽지 않는 운영 조건을 화면 안내와 후보 비교 기준에 반영합니다.
  • 가마 배치·소성 계획은 후속 버전입니다. 첫 버전의 다음 가마 후보 비교는 후보 확인과 비교까지만 제공합니다.

6-2. 단계·위치 변경 저장 규칙

작품이 이동할 때 현재 제작 단계와 선반 칸을 함께 변경할 수 있어야 합니다.

  1. 운영자가 작품 번호를 검색하거나 단계별 작품 목록에서 작품을 선택합니다.
  2. 새 현재 제작 단계와 새 선반 칸을 선택합니다.
  3. 서버가 해당 선반 칸이 같은 생활도자 공방에 속하는지 확인합니다.
  4. 서버가 마지막 수정 시각을 비교해 다른 사용자의 수정 여부를 확인합니다.
  5. 작품의 현재 제작 단계와 현재 선반 칸을 갱신합니다.
  6. 단계 변경 이력과 위치 변경 이력을 각각 저장합니다.

같은 단계 안에서 선반 칸만 바뀌는 경우에는 위치 변경 이력만 남깁니다.

6-3. 동시 수정 충돌 처리

대표 운영자와 보조 강사가 동시에 같은 작품을 수정할 수 있습니다.

  • 화면을 열 때 작품의 마지막 수정 시각을 함께 가져옵니다.
  • 저장 요청 시 서버가 현재 마지막 수정 시각과 비교합니다.
  • 이미 다른 사용자가 저장했다면 기존 저장을 덮어쓰지 않습니다.
  • 사용자에게 최신 작품 정보를 다시 확인하도록 안내합니다.
  • 최신 정보를 확인한 뒤 다시 수정해야 합니다.

7. 핵심 기능 흐름도

가장 중요한 기능은 작품 번호로 작품을 찾고, 현재 제작 단계와 선반 칸을 갱신하는 흐름입니다.

그림을 그리는 중…

이 흐름은 포스트잇과 육안 확인 대신 작품 번호를 기준으로 주인, 사진, 현재 제작 단계, 선반 칸을 찾고 갱신하는 과정입니다. 저장할 때 현재 값만 바꾸지 않고 단계 변경 이력과 위치 변경 이력을 함께 남겨 실제 선반 상태가 다를 때 마지막 변경 내용을 확인할 수 있게 합니다.


8. 예상 완료일 계산 규칙

8-1. 계산 기준

예상 완료일은 회원에게 확정 날짜처럼 보이지 않게 하되, 현재 상황을 알 수 있게 표시합니다.

  1. 현재 제작 단계별 기본 소요 기간을 생활도자 공방별로 설정합니다.
  2. 작품의 현재 제작 단계가 바뀌면 예상 완료일을 다시 계산합니다.
  3. 작품에 가마 예정일이 입력되어 있으면 해당 날짜를 우선 기준으로 계산합니다.
  4. 가마 예정일이 변경되면 연결된 작품의 예상 완료일을 다시 계산합니다.
  5. 단계별 기본 소요 기간이 바뀌면 해당 단계의 작품 예상 완료일을 다시 계산합니다.

8-2. 회원 화면 표시 예시

작품 상태회원에게 보이는 내용
건조완성까지 약 3~4주 예상
초벌 대기초벌 가마 작업을 기다리고 있어요.
시유유약 작업을 진행하고 있어요.
재벌 대기최종 가마 작업을 기다리고 있어요.
재벌 완료검수 후 수령 안내 예정이에요.
완성작품이 완성되었어요.

가마 배치·소성 계획은 후속 버전이지만, 운영자가 작품별 가마 예정일을 별도로 입력하는 경우에는 예상 완료일 계산에 활용할 수 있습니다.


9. 주요 서버 기능

서버 기능입력처리결과
작품 등록작품 번호, 회원, 작품 사진, 현재 제작 단계, 선반 칸공방 내 작품 번호 중복 검사, 선반 칸 유효성 검사, 작품 저장새 작품과 최초 단계·위치 이력
작품 번호 검색공방 식별값, 작품 번호공방 범위에서 작품 조회주인, 사진, 현재 제작 단계, 선반 칸, 예상 완료일
작품 단계·위치 변경작품 식별값, 새 단계, 새 선반 칸, 마지막 수정 시각동시 수정 검사, 선반 칸 검사, 현재값 갱신, 이력 저장변경 결과와 새 예상 완료일
여러 작품 상태 한꺼번에 변경작품 목록, 새 단계, 새 선반 칸작품별 상태·수정 충돌·선반 칸 검사성공 목록, 실패 목록, 실패 이유
회원 조회회원 식별값회원 정보, 회원권, 연결된 작품 조회회원 상세와 회원권 잔여 횟수
회원권 잔여 횟수 변경회원권 식별값, 새 잔여 횟수변경 전후 값과 변경자 저장변경된 잔여 횟수와 이력
회원 내 작품 조회로그인한 회원 식별값회원과 작품 연결 관계 검사본인 작품 사진, 현재 제작 단계, 예상 완성 시점
예상 완료일 재계산작품 또는 공방 작업 기준단계별 기본 소요 기간, 가마 예정일 우선 규칙 적용새 예상 완료일
사진 업로드·조회사진 파일, 작품 또는 선반 연결값파일 저장, 접근 권한 검사권한이 있는 사용자만 보는 사진 주소

10. 데이터 조회와 성능 기준

초기 운영 규모는 월 50~150점의 작품을 기준으로 합니다. 현재 기준 공방은 월 작품 약 130점, 월 정기 회원 약 40명입니다.

조회용 색인

아래 항목에는 데이터베이스 조회용 색인을 적용합니다.

대상색인 기준이유
작품생활도자 공방 식별값 + 작품 번호작품 번호 검색을 빠르게 처리
작품생활도자 공방 식별값 + 현재 제작 단계단계별 작품 목록과 초벌·재벌 대기 작품 수 조회
작품생활도자 공방 식별값 + 현재 선반 칸선반 칸 기준 작품 찾기
작품회원 식별값회원 전용 내 작품 조회
회원생활도자 공방 식별값 + 이름운영자의 회원 검색
변경 이력작품 식별값 + 변경 시각작품 상세에서 최신 이력 조회

사진 처리 기준

  • 작품 사진과 선반 사진은 모바일 웹에서 촬영하거나 업로드할 수 있어야 합니다.
  • 목록 화면에서는 작은 미리보기 이미지를 사용합니다.
  • 작품 상세와 회원 전용 내 작품 조회에서는 필요한 사진만 불러옵니다.
  • 원본 사진은 파일 저장소에 보관하고 데이터베이스에는 파일 정보와 연결 정보만 저장합니다.

11. 초기 설정 흐름

첫 검증 공방은 현재 보관 중인 작품부터 등록하고 이후 새로 만들어지는 작품을 계속 기록합니다.

초기 설정 순서

  1. 대표 운영자가 생활도자 공방 기본 정보를 확인합니다.
  2. 공정별 선반과 선반 칸을 등록합니다.
    • 예: 초벌 대기 2번 선반 1칸
  3. 건조·초벌·시유·재벌 등 공방의 현재 제작 단계를 설정합니다.
  4. 단계별 기본 소요 기간을 입력합니다.
  5. 현재 회원을 등록합니다.
  6. 월 정기권·10회권 등 회원권 종류, 잔여 횟수, 유효기간을 등록합니다.
  7. 현재 선반에 보관 중인 작품을 등록합니다.
  8. 작품 번호, 회원, 작품 사진, 현재 제작 단계, 선반 칸이 모두 등록됐는지 확인합니다.
  9. 운영자 대시보드에서 단계별 작품 수와 위치 미등록 작품 수를 확인합니다.

초기 설정 완료 조건

  • 운영에 사용하는 공정별 선반과 선반 칸이 등록되어 있다.
  • 현재 보관 중인 작품마다 작품 번호와 회원이 연결되어 있다.
  • 등록된 작품에 현재 제작 단계와 선반 칸이 있다.
  • 회원이 회원 전용 내 작품 조회에서 본인 작품을 볼 수 있다.

12. 구현 우선순위

1차: 작품 추적과 회원 조회

  • 로그인과 회원 본인 확인
  • 공방별 데이터 분리
  • 작품 등록·수정
  • 작품 번호 중복 검사
  • 작품 번호 검색과 작품 상세
  • 현재 제작 단계·선반 칸 변경
  • 단계 변경 이력·위치 변경 이력
  • 단계별 작품 목록
  • 운영자 대시보드
  • 회원 등록·조회
  • 회원권 잔여 횟수와 유효기간 확인
  • 회원 전용 내 작품 조회
  • 예상 완료일 자동 표시
  • 공방 작업 기준 설정
  • 초기 설정

2차: 가마 운영과 비용 기록

  • 가마 대기 및 소성 계획
  • 가마 회차와 가마 배치
  • 채움 비율
  • 적재 위치
  • 소성·냉각 상태
  • 흙값과 유약값 기록
  • 재료비와 수납 여부 기록
  • 문제 작품 처리 기록
  • 파손·재제작·보상 처리 이력

3차: 회원 알림

  • 작품 완성 알림
  • 카카오톡 완료 알림
  • 사업자 채널과 알림톡 템플릿 승인 연동
  • 알림 발송 이력과 실패 처리

13. 운영 시 주의점

항목운영 기준
작품 번호 오기입작품 등록 시 중복을 즉시 검사한다. 번호 정정 시 기존 번호를 덮어쓰지 않고 작품 번호 정정 기록을 남긴다.
작품 번호 식별 어려움작품 바닥에 2608-01처럼 일곱 자 이하의 번호를 새긴다. 번호만으로 주인을 판단하지 않고 시스템에서 회원과 연결한다.
단계 변경 누락단계별 작품 목록에서 오래 대기 중인 작품을 확인하고, 변경 이력으로 마지막 변경자를 확인한다.
실제 선반 상태와 시스템 불일치단계 변경 이력과 위치 변경 이력을 확인해 마지막 이동 내용을 찾는다.
선반 칸 삭제해당 선반 칸에 작품이 남아 있으면 삭제를 막거나 먼저 다른 선반 칸으로 옮기게 한다.
동시 수정마지막 수정 시각을 비교해 먼저 저장된 내용을 보호한다.
회원 개인정보회원은 본인 작품만 조회하게 하고, 다른 회원의 작품 사진과 정보는 서버에서 차단한다.
실제 결제시스템에서 결제를 받지 않는다. 실제 수납은 기존 계좌이체 방식으로 처리한다.
카카오톡 알림첫 버전의 배포 조건으로 두지 않는다. 알림은 후속 버전에서 사업자 채널과 템플릿 승인 조건을 확인한 뒤 추가한다.

14. 기술 선택

영역선택선택 이유
웹 화면과 서버 요청 처리Next.js운영자와 회원이 하나의 웹 서비스에서 사용할 수 있고, 화면과 서버 기능을 함께 관리하기 좋다.
데이터 저장소관계형 데이터베이스작품, 회원, 회원권, 선반, 변경 이력처럼 서로 연결되는 데이터를 안정적으로 관리하기 좋다.
사진 저장파일 저장소작품 사진과 선반 사진을 데이터베이스와 분리해 보관하고, 화면에서는 필요한 크기의 사진만 제공할 수 있다.
인증외부 인증 서비스 또는 검증된 인증 기능대표 운영자·보조 강사·회원의 로그인과 접근 권한을 일관되게 처리한다.
배포웹 배포 환경회원이 앱 설치 없이 모바일 브라우저로 바로 작품 상태를 확인할 수 있다.

초기에는 단일 Next.js 서비스와 하나의 관계형 데이터베이스로 시작합니다. 공방 수와 사진 저장량이 늘어날 때만 사진 처리와 알림 기능을 별도 구성으로 확장합니다.

시스템 구성 — 도예공방 운영 관리 서비스 | Prometheon