2021 · Web · Operations · Automation

KHVD 2021
Graduation Exhibition

경희대학교 시각디자인과 2021 졸업전시의 웹서비스 구현과 시스템 운영 전반을 맡았습니다. 참가자·작품 탐색, 방명록, 개인 관리 화면과 현장 운영을 연결했고, 판매·재고·정산은 Excel 장부로 자동화했습니다.

Year2021
ScopeImplementation · Operations
InfraAWS server operation
ToolingWeb · Script · Excel
경희대학교 시각디자인과 2021 졸업전시 실제 화면

2021 경희대학교 시각디자인과 졸업전시 실제 웹사이트

졸업전시를 위해 직접 제작한 미채택 포스터 시안입니다. 보라색 상자에서 건축물이 펼쳐지는 장면을 3D로 구성하고, UNBOXING 타이포그래피와 함께 포스터로 전개했습니다.

보라색 상자 속 건축물과 UNBOXING 타이포그래피를 활용한 포스터 및 디테일 시안
UNBOXING 포스터와 디테일 · 미채택 시안 · 클릭하여 확대
3ds Max에서 확인한 상자 전개 애니메이션 · 미채택 시안

기획과 디자인을 제외한 애플리케이션 구현과 운영을 담당했습니다. 웹서비스와 함께 AWS 서버 인스턴스를 직접 관리하고, 전시 데이터 가공과 현장 판매 장부도 제작했습니다.

웹사이트는 React와 WordPress로 구현하고, 이미지·카탈로그 데이터는 Python으로 전처리했습니다. 현장 판매는 Excel 함수로 집계해 웹·데이터·판매 업무에 맞는 도구를 각각 구성했습니다.

Working principle

작품 자료의 반복 가공과 판매 기록의 중복 입력을 줄이고, 전시 기간에 실제로 사용할 수 있도록 구성했습니다.

Intro와 Main 외에 Participant, ParticipantList, Project, ProjectCategory, Guestbook, MyDashboard, PopupStore를 독립 화면으로 구성했습니다. Dashboard UI와 Editor, Guestbook Editor·Viewer를 두어 작성·관리 기능도 제공했습니다.

참가자는 개인 관리 화면에서 작품 정보를 관리하고, 관람객은 참가자와 작품을 탐색하며 방명록을 남길 수 있었습니다. 콘텐츠 작성과 관람을 같은 웹서비스 안에 연결했습니다.

01 · DISCOVERY

참가자와 작품 탐색

참가자 목록, 작품 상세, 작품 카테고리를 독립 흐름으로 두어 전시물을 사람과 작품 두 축에서 탐색할 수 있게 했습니다.

02 · PARTICIPANT

개인 관리 Surface

로그인과 개인 Dashboard가 별도로 존재해 참가자가 자신의 전시 정보를 관리하는 운영 흐름을 지원했습니다.

03 · INTERACTION

방명록

방명록 작성용 Editor와 열람용 Viewer를 분리해 구현했습니다.

04 · COMMERCE

Popup Store

웹서비스 안에 팝업스토어 진입점이 따로 존재했고, 실제 오프라인 굿즈 판매 운영과도 연결되는 맥락을 가졌습니다.

콘텐츠 편집도 직접 만든 Surface

애플리케이션 안에 Editor와 editor plugin 계층을 구성해 참가자와 운영자가 전시 콘텐츠를 편집하도록 했습니다. 사용자 화면과 콘텐츠 관리 화면이 같은 전시 데이터를 사용했습니다.

애플리케이션 배포뿐 아니라 AWS 서버 인스턴스를 직접 관리했습니다. CloudFront와 S3 같은 서비스를 접하고, 라이브 스트리밍을 위해 RTMP/HLS 구성도 다뤘습니다. 전시라는 짧은 기간 안에 실제 사용자가 몰리고 콘텐츠가 계속 바뀌기 때문에, 단순 개발 완료보다 행사 기간 동안 계속 살아 있는 시스템으로 다루어야 했습니다.

참가자별 이미지와 작품 자료는 형식과 크기가 제각각이어서 배포용 데이터로 정리해야 했습니다. 이미지 사용 기준을 맞추고 카탈로그 데이터를 일괄 처리하는 도구를 만들어, 반복되는 파일 정리와 변환을 자동화했습니다.

Source material참가자·작품·이미지·카탈로그처럼 제각각 들어오는 전시 데이터
NormalizationPython과 운영 스크립트로 반복되는 정리·변환 작업을 자동화
Application웹서비스가 같은 데이터 구조를 기준으로 참가자·작품·운영 화면을 제공
Event periodAWS 환경에서 실제 전시 기간 동안 서비스와 스트리밍을 운영

굿즈 판매 현장에서는 판매 기록, 재고, 전체 매출, 판매 주체별 정산을 각각 적고 있었습니다. 같은 판매 사실을 여러 장부에 반복 입력해야 했고, 바쁜 현장에서는 한 군데만 빠뜨려도 나중에 맞추기 어려워졌습니다.

별도 요청을 받기 전에 판매 입력을 하나의 주 입력원으로 삼는 Excel 장부를 만들어 제안했습니다. 판매를 한 번 기록하면 여러 Sheet에서 재고, 전체 매출, 판매 주체별 정산금과 마감 결과가 자동으로 파생되도록 구성했습니다. VBA나 별도 프로그램 없이 Excel 함수만 사용해 현장 PC에서 즉시 사용할 수 있게 했습니다.

동시성을 만들지 않는 것도 설계

입력 Client를 여러 개로 늘리는 것도 가능했지만 실제 현장에는 캐셔 PC 한 대와 기록 담당자 한 명이 있었습니다. 그래서 복잡한 다중 사용자 시스템을 만들지 않고 single-writer 방식으로 사용했습니다. 기술적으로 더 복잡한 구조를 만드는 것보다 실제 운영 모델에 맞춰 필요한 만큼만 시스템화한 선택입니다.

Input

한 번의 판매 기록을 재고·매출·정산의 공통 원천으로 사용

Operation

전시 종료까지 실제 현장에서 계속 사용하며 마감과 재고 확인을 지원

Pattern

판매 기록을 기준으로 마감·재고 확인과 주체별 정산을 지원

Data flow

한 번의 입력에서 여러 결과를 파생시키고, 사람이 같은 사실을 다시 적는 지점을 없앤다.

참가자와 관람객이 사용하는 웹서비스, 작품 데이터 가공 도구, AWS 운영 환경과 현장 판매 장부를 제공했습니다. 판매 장부는 현장에서 도입한 뒤 전시 종료까지 사용했습니다.

한 번 입력한 판매 기록에서 재고·전체 매출·판매 주체별 정산금이 자동으로 계산됐습니다. 마감 정산과 부족한 굿즈의 추가 반입 판단을 지원했습니다.

ReactWordPress RESTReduxPythonAWSCloudFrontS3RTMP / HLSExcel
What this project shows

온라인 전시와 현장 판매 운영을 함께 지원

웹사이트, 참가자 관리, 작품 데이터, 서버 운영, 스트리밍, 현장 판매 장부를 따로 떨어진 업무로 보지 않고 하나의 전시 운영 문제 안에서 다뤘습니다.

2021.khvd.kr 방문하기 ↗