← 포트폴리오 목록

학습 리워드 앱 화면 설계 스튜디오·온보딩 진행 보드

리뉴얼 이후 화면을 지속적으로 다듬을 수 있도록 확장한 구현한 프로젝트입니다.

프로젝트 납품 요약

아래 프로젝트 개요와 핵심 기능에서 구현 화면을 확인할 수 있습니다.

서비스 타입Web
업종교육 플랫폼
기술 스택
React NativeTypeScriptNestJSMySQLTypeORMMongoDBMongooseRedisAWS S3
주요 기능
  • 화면 구성 캔버스 편집기
  • 디자인 토큰 관리
  • 온보딩 진행 현황 보드
  • 화면 설계서·결과보고서 생성

프로젝트 개요

범위: 개발, 디자인, 기획

리뉴얼 이후 화면을 지속적으로 다듬을 수 있도록 확장한 구현한 프로젝트입니다. 화면 요소를 배치하고 속성을 조정하는 캔버스 편집기, 디자인 토큰 관리, 온보딩 단계별 진행 현황 보드, 화면 설계서·결과보고서 자동 생성을 NestJS 기반 관리 도구로 구성합니다.

작업 범위

  • 화면 구성 캔버스 편집기: 홈·온보딩·퀴즈 화면의 요소를 레이어 트리에서 선택하고 중앙 캔버스에서 배치와 속성을 조정하는 편집 화면입니다
  • 디자인 토큰 관리: 색·간격·타이포·모서리 토큰을 한 화면에서 보고 수정하며 사용 중인 컴포넌트를 함께 확인하는 관리 화면입니다
  • 온보딩 진행 현황 보드: 온보딩 단계별 진입 수와 완료 수, 단계별 소요 시간을 보여주는 현황 보드입니다. 광고 슬롯별 노출 상태도 함께 확인합니다
  • 화면 설계서·결과보고서 생성: 편집기에 저장된 화면 정의와 캡처 이미지를 모아 화면 설계서와 결과보고서 초안을 문서로 만들어 내려받는 화면입니다

주요 업무

  • 화면 구성 캔버스 편집기 화면: 좌측 레이어 트리, 중앙 모바일 캔버스, 우측 속성 인스펙터로 구성하며 변경 내용을 즉시 미리보기에 반영합니다
  • 디자인 토큰 관리 화면: 토큰 값 변경 시 영향받는 컴포넌트 목록을 표시하고 앱에서 읽는 토큰 파일 형태로 내보냅니다
  • 온보딩 진행 현황 보드 화면: 수집된 단계 이벤트를 집계하여 단계별 흐름 차트와 상세 표로 보여주고, 기간과 플랫폼으로 필터링합니다
  • 화면 설계서·결과보고서 생성 화면: 화면별 설명, 요소 목록, 캡처 이미지, 작업 내역 표를 템플릿에 채워 PDF와 워드 문서로 출력합니다
학습 리워드 앱 화면 설계 스튜디오·온보딩 진행 보드
요구사항 정의

프로젝트 핵심 과제

프로젝트 진행 시 해결한 핵심 기술 과제입니다.

캔버스 편집 중 요소 선택·이동·속성 변경이 겹칠 때 상태 충돌 없이 실행 취소를 보장하는 히스토리 설계

토큰 참조 관계가 깊어질 때 영향 범위 계산 비용을 제어하는 그래프 탐색 전략

MySQL 집계와 MongoDB 원시 이벤트 사이 수치가 어긋나지 않

하는 집계 정합성 검증 방식 필요

화면 정의에서 생성한 문서의 레이아웃이 요소 수에 따라 깨지지 않

하는 페이지 분할 규칙 필요

구현 내용

핵심 기능 상세

핵심 기능 1

화면 구성 캔버스 편집기

홈·온보딩·퀴즈 화면의 요소를 레이어 트리에서 선택하고 중앙 캔버스에서 배치와 속성을 조정하는 편집 화면입니다.

  • React 컴포넌트 트리 기반 레이어 목록과 캔버스 선택 상태 양방향 동기화 구현
  • Immer 기반 불변 상태 업데이트와 실행 취소·다시 실행 히스토리 스택 설계
  • 속성 인스펙터를 JSON 스키마로 정의하여 요소 유형별 입력 폼 자동 생성

화면 정의를 JSON으로 저장하고 MongoDB 문서로 버전 관리하여 변경 이력 비교와 이전 버전 복원이 가능한 구조를 구현합니다.

화면 구성 캔버스 편집기
화면 구성 캔버스 편집기 실제 화면
핵심 기능 2

디자인 토큰 관리

색·간격·타이포·모서리 토큰을 한 화면에서 보고 수정하며 사용 중인 컴포넌트를 함께 확인하는 관리 화면입니다. 토큰 값 변경 시 영향받는 컴포넌트 목록을 표시하고 앱에서 읽는 토큰 파일 형태로 내보냅니다.

  • 토큰 참조 그래프를 만들어 값 변경 시 영향 컴포넌트 목록 계산
  • MySQL 토큰 테이블과 변경 이력 테이블 분리 설계, TypeORM 마이그레이션 적용
  • React Native 스타일 객체와 JSON 파일로 내보내는 변환기 구현

토큰 변경 전후를 나란히 비교하는 미리보기와 영향 범위 표시로 수정 위험을 사전에 확인하는 흐름을 설계합니다.

디자인 토큰 관리
디자인 토큰 관리 실제 화면
핵심 기능 3

온보딩 진행 현황 보드

온보딩 단계별 진입 수와 완료 수, 단계별 소요 시간을 보여주는 현황 보드입니다. 광고 슬롯별 노출 상태도 함께 확인합니다.

  • Redis 캐시와 집계 쿼리 분리로 기간별 단계 이벤트 조회 구조 설계
  • Recharts 기반 단계 흐름 차트와 플랫폼·기간 필터 URL 상태 동기화
  • MongoDB 이벤트 컬렉션 인덱스와 집계 파이프라인으로 단계별 카운트 산출

원시 이벤트는 MongoDB에, 일 단위 집계는 MySQL에 저장하는 이중 저장 구조로 조회 화면의 응답 구조를 단순하게 설계합니다.

온보딩 진행 현황 보드
온보딩 진행 현황 보드 실제 화면
핵심 기능 4

화면 설계서·결과보고서 생성

편집기에 저장된 화면 정의와 캡처 이미지를 모아 화면 설계서와 결과보고서 초안을 문서로 만들어 내려받는 화면입니다.

  • Puppeteer로 화면 정의를 이미지로 캡처하여 문서에 삽입
  • docxtemplater 템플릿 기반 워드 문서 생성과 PDF 출력 경로 분리
  • AWS S3에 생성 문서를 저장하고 만료형 다운로드 링크 발급

화면 정의 데이터에서 설계서 표와 이미지를 자동으로 채워 문서 작성 반복 작업을 줄이는 생성 파이프라인을 구현합니다.

화면 설계서·결과보고서 생성
화면 설계서·결과보고서 생성 실제 화면
구현 과정

프로젝트 진행 단계

STEP 1

화면 정의 JSON 스키마 및 데이터 모델 설계 · 2026.10

요소 유형별 속성 스키마 정의, MySQL 토큰 테이블과 MongoDB 화면 문서 구조 설계

STEP 2

캔버스 편집기와 속성 인스펙터 개발 · 2026.10

레이어 트리·캔버스·인스펙터 3분할 화면과 실행 취소 히스토리 구현

STEP 3

토큰 관리와 이벤트 집계 API 개발 · 2026.10

NestJS 토큰 CRUD·영향 범위 계산 API와 단계 이벤트 집계 파이프라인 구현

STEP 4

진행 현황 보드와 문서 생성 구현 · 2026.10

Recharts 단계 흐름 차트와 docxtemplater·Puppeteer 기반 설계서 생성 구현

개발 결과

화면 정의 버전 관리 구조 설계화면 정의를 MongoDB 문서로 저장하고 버전 간 차이 비교와 복원을 지원하는 변경 이력 구조 구현
토큰 영향 범위 계산 로직 구현토큰 참조 그래프를 구성하여 값 변경 시 영향받는 컴포넌트 목록을 산출, 변경 전후 비교 미리보기 설계
이벤트 이중 저장 집계 구조 구축원시 이벤트는 MongoDB, 일 단위 집계는 MySQL에 저장하고 Redis 캐시로 조회하는 구조 설계
설계서 자동 생성 파이프라인 구현화면 정의에서 표와 캡처 이미지를 채워 워드·PDF 문서를 만드는 템플릿 생성 흐름 구현, S3 보관 연동

기술적 주안점

  • 화면 정의를 JSON으로 저장하고 MongoDB 문서로 버전 관리하여 변경 이력 비교와 이전 버전 복원이 가능한 구조를 구현합니다
  • 토큰 변경 전후를 나란히 비교하는 미리보기와 영향 범위 표시로 수정 위험을 사전에 확인하는 흐름을 설계합니다
  • 원시 이벤트는 MongoDB에, 일 단위 집계는 MySQL에 저장하는 이중 저장 구조로 조회 화면의 응답 구조를 단순하게 설계합니다

유사한 프로젝트를 기획하고 계신가요?

필요한 기능과 일정을 알려주시면 개발 범위를 함께 정리하겠습니다.

프로젝트 문의