← 포트폴리오 목록

디지털 워크북 기반 실시간 수업 플랫폼

교육 출판사의 중학교 교과서와 연계된 디지털 워크북을 실제 수업에서 쓸 수 있도록, 학생·교사·관리자 3역할의 실시간 수업 플랫폼을 구축·납품했습니다.

프로젝트 납품 요약

고객 과제

중학교 교과서와 연계된 워크북 활동을 실제 수업에서 스마트기기로 작성하고, 교사가 학생들의 제출 현황을 바로 확인하며 수업을 진행할 수 있어야 했습니다.

개발 범위

학생 디지털 워크북, 교사 실시간 대시보드, 전자칠판 수업 모드, 학교 단위 이용 권한과 교사 계정을 관리하는 관리자 콘솔을 하나의 시스템으로 개발했습니다.

납품 결과

학생·교사·관리자 3역할 플랫폼을 기기별 검수를 거쳐 납품했습니다. 6종 워크북 활동, 실시간 제출 현황, 초대 링크 기반 교사 계정 발급을 제공합니다.

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

서비스 타입Web
업종에듀테크
기술 스택
Next.js 14 (App Router)React 18TypeScript 5Tailwind CSS 3.4Supabase (PostgreSQL · Auth · Realtime)Chart.js 4VitestPlaywrightVercel
주요 기능
  • 학생 디지털 워크북 — 6종 인터랙티브 활동과 자동 저장
  • 교사 실시간 대시보드 — 반별 접속·제출 현황
  • 전자칠판 수업 모드 — 질문 표시 · 답변 수집 · 답변 공개
  • 학생별 답변 조회와 크게 보기 — 활동 양식 그대로 읽기 전용 렌더
  • 관리자 콘솔 — 학교 단위 라이선스와 교사 계정 발급

프로젝트 개요

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

교육 출판사의 중학교 교과서와 연계된 디지털 워크북을 실제 수업에서 쓸 수 있도록, 학생·교사·관리자 3역할의 실시간 수업 플랫폼을 구축·납품했습니다. 학생은 스마트기기로 워크북을 작성하고, 교사는 대시보드와 전자칠판 화면으로 제출 현황을 보며 수업을 진행하고, 관리자는 학교 단위로 이용 권한과 교사 계정을 발급합니다. 클라이언트가 제공한 DB 스키마와 화면 시안을 바탕으로 Next.js·Supabase 단일 코드베이스로 설계부터 기기별 검수·납품까지 수행했으며, 기업 교육·연수처럼 참여자 답변을 실시간으로 모아 함께 보는 수업에도 같은 구조로 응용할 수 있습니다.

작업 범위

  • 학생 워크북: 반 코드와 이름·번호만으로 입장해 카드 분류·육각형 차트·24시간 일과표·연결선 등 6종 활동을 작성하고, 자동 저장 후 최종 제출로 확정해 수업 중 이탈에도 입력을 보존
  • 교사 대시보드: 담당 반을 전환하며 접속 인원·활동별 제출 현황·진행률을 한 화면에서 확인하고, 학생별·활동별 답변을 작성 양식 그대로 조회
  • 전자칠판 수업 모드: 질문 표시·답변 수집·답변 공개 세 단계를 버튼 하나로 전환하고, 이름을 가린 학생 답변을 한 명씩 크게 넘겨 보며 함께 토론
  • 관리자 콘솔: 학교별 이용 키·활성 기간·교사 정원을 지정하고, 교사 계정을 초대 링크로 발급하며 만료가 다가오는 학교를 한눈에 확인

주요 업무

  • 활동 구조 설계: 활동 문항을 데이터로 정의하고 공용 화면 부품을 조립하는 구조로 만들어, 활동이 늘거나 문항이 바뀌어도 화면을 새로 만들지 않도록 설계
  • 실시간 반영: 학생의 접속과 제출이 교사 대시보드와 전자칠판에 새로고침 없이 바로 반영되도록 실시간 구독 구조를 적용하고, 학생 번호 격자에서 제출 완료·접속 중·미접속을 색으로 구분
  • 기기별 화면 분리: 학생 화면은 스마트기기에 맞춘 반응형으로, 교사·관리자·전자칠판 화면은 PC와 대형 화면 기준 레이아웃과 키보드 조작으로 구성
  • 품질·계정 관리: 71본 DB 마이그레이션과 92개 자동 테스트로 변경을 관리하고, 교사가 직접 비밀번호를 정하는 초대 발급과 링크 만료 처리까지 보완
디지털 워크북 기반 실시간 수업 플랫폼
요구사항 정의

프로젝트 핵심 과제

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

활동 확장성

활동마다 입력 방식이 달라도 UI 스키마와 공용 렌더러로 구성해, 이후 활동이 늘어도 데이터 추가로 대응할 수 있게 했습니다

표시 일관성

작성·조회·공개 화면이 같은 필드 컴포넌트를 쓰도록 해 학생이 본 양식과 교사가 보는 양식이 어긋나지 않게 했습니다

수업 현장 기준 설계

회원가입 없는 반 코드 입장, 혼동 문자를 뺀 반 코드, 익명 답변 공개, 대형 화면 키보드 조작처럼 교실에서 실제로 필요한 동작을 우선했습니다

계정 보안

교사 계정은 초대 링크로 본인이 비밀번호를 설정하고, 관리자는 학교 활성/비활성으로 접근을 통제합니다

변경 관리

요구 변경을 마이그레이션과 자동 테스트로 누적 관리해 수정이 기존 기능을 깨뜨리지 않도록 했습니다

교과서와 연계된 활동을 스마트기기 디지털 워크북으로 옮겨

학생 답변이 수업 중 바로 교사 화면에 모이도록 했습니다

구현 내용

핵심 기능 상세

핵심 기능 1

학생 디지털 워크북 — 6종 인터랙티브 활동과 자동 저장

클래스 코드로 입장해 활동별 워크북을 작성합니다. 카드 분류·레이더 차트·원형 일과표·연결선 등 활동마다 다른 입력을 제공하고, 입력은 자동 저장됩니다.

  • 활동 문항을 DB의 UI 스키마로 정의하고 공용 렌더러가 필드 컴포넌트로 조립 — 활동 추가 시 화면 코드 복제 없음
  • Chart.js 레이더 차트로 흥미 점수와 관심 직업 점수를 입력 즉시 겹쳐 그림
  • 24시간 원형 시계에서 시작 시각을 눌러 시간대를 추가하고 남은 시간을 자동 계산
  • 임시 저장·최종 제출 2단계와 자동 저장으로 수업 중 이탈에도 입력 보존

활동마다 화면을 따로 만들지 않고 스키마 기반 렌더러 하나로 6종 활동을 구성해, 문항·보기 변경을 데이터 수정만으로 반영할 수 있게 설계했습니다.

학생 디지털 워크북 — 6종 인터랙티브 활동과 자동 저장
학생 디지털 워크북 — 6종 인터랙티브 활동과 자동 저장 실제 화면
핵심 기능 2

교사 실시간 대시보드 — 반별 접속·제출 현황

담당 반을 전환하며 접속 인원, 활동별 제출 현황, 평균 진행률을 한 화면에서 확인합니다. 반 추가 시 학생 접속용 반 코드가 자동 생성됩니다.

  • Supabase Realtime 구독으로 학생 접속·제출 이벤트를 새로고침 없이 대시보드에 반영
  • 활동별 제출 수와 워크북 평균 진행률을 반 단위로 집계
  • 혼동 문자(0/1/I/L/O)를 제외한 6자리 반 코드 생성
  • 학년도·반 전환과 학생 검색·정렬로 여러 반을 동시에 운영

교사 화면은 초기 데이터를 한 번 불러온 뒤 Realtime 변경분만 반영하는 방식으로, 30명 규모 반에서도 제출 현황이 즉시 갱신되도록 구성했습니다.

교사 실시간 대시보드 — 반별 접속·제출 현황
교사 실시간 대시보드 — 반별 접속·제출 현황 실제 화면
핵심 기능 3

전자칠판 수업 모드 — 질문 표시 · 답변 수집 · 답변 공개

질문을 크게 띄우고, 학생 번호별 제출·접속 상태를 색으로 확인한 뒤, 익명 답변을 함께 봅니다. 세 단계는 버튼 하나로 전환됩니다.

  • 질문 표시 → 답변 수집 → 답변 공개 3단계를 한 화면의 모드로 전환
  • 학생 번호 격자에 제출 완료·접속 중·미접속을 색으로 구분해 실시간 표시
  • 답변 공개 시 이름을 숨긴 익명 목록으로 표시
  • ←/→ 키보드 이동과 ESC 닫기 등 대형 화면 조작 방식 적용

전자칠판 수업 흐름을 3개 모드로 나누고 학생 제출 상태를 Realtime으로 반영해, 교사가 판서하듯 한 화면에서 수업을 진행할 수 있게 했습니다.

전자칠판 수업 모드 — 질문 표시 · 답변 수집 · 답변 공개
전자칠판 수업 모드 — 질문 표시 · 답변 수집 · 답변 공개 실제 화면
핵심 기능 4

학생별 답변 조회와 크게 보기 — 활동 양식 그대로 읽기 전용 렌더

학생과 활동을 교차 선택해 답변을 조회합니다. 답변은 작성 양식 그대로 표시되고, 전자칠판에서는 익명 답변을 한 명씩 크게 넘겨 봅니다.

  • 학생 탭과 활동 탭을 오가며 제출 상태(완료·진행 중·미시작)와 답변을 조회
  • 작성 화면과 같은 필드 컴포넌트를 읽기 전용 모드로 재사용해 차트·표·연결선까지 원형대로 표시
  • 전자칠판 크게 보기에서 익명 답변을 순서대로 넘기며 수업 중 공유
  • 학생 이름·번호 검색으로 반 전체 답변을 빠르게 탐색

작성용 컴포넌트를 조회용으로 재사용해, 답변 조회 화면을 별도로 만들지 않고도 어떤 활동 유형이든 학생이 본 그대로 확인할 수 있게 했습니다.

학생별 답변 조회와 크게 보기 — 활동 양식 그대로 읽기 전용 렌더
학생별 답변 조회와 크게 보기 — 활동 양식 그대로 읽기 전용 렌더 실제 화면
핵심 기능 5

관리자 콘솔 — 학교 단위 라이선스와 교사 계정 발급

학교별 라이선스 키·활성 기간·교사 정원을 지정하고 교사 계정을 초대 링크로 발급합니다. 만료 임박 학교는 사용 통계에서 확인합니다.

  • 라이선스 키 자동 생성과 활성일·만료일·교사 정원 설정
  • 초대 메일 링크로 교사가 직접 비밀번호를 설정하는 계정 발급 흐름과 초대 재전송
  • 학교 활성/비활성 전환과 지역·상태 필터, 페이지네이션 목록
  • 만료 임박 학교를 남은 기간 순으로 보여주는 사용 통계

교사 계정을 관리자가 비밀번호로 만들지 않고 초대 링크로 발급해, 계정 정보가 관리자를 거치지 않도록 설계했습니다.

관리자 콘솔 — 학교 단위 라이선스와 교사 계정 발급
관리자 콘솔 — 학교 단위 라이선스와 교사 계정 발급 실제 화면
구현 과정

프로젝트 진행 단계

STEP 1

요구사항 분석·인증 기반과 학생 워크북 · 2026.04

제공된 DB 스키마와 UI 프로토타입 4종을 분석해 화면 흐름을 확정하고, 역할별 인증과 클래스 코드 입장·스키마 기반 활동 렌더러·자동 저장과 최종 제출 흐름을 구현합니다.

STEP 2

교사 대시보드·답변 조회 · 2026.05

반 관리, 반 코드 생성, Realtime 제출 현황, 학생별·활동별 답변 조회를 구현합니다.

STEP 3

전자칠판 수업 모드·관리자 콘솔 · 2026.05

질문 표시·답변 수집·답변 공개 모드와 학교 라이선스·교사 초대 발급·사용 통계를 구현합니다.

STEP 4

기기별 QA·배포·납품 후 안정화 · 2026.06

스마트기기·PC·전자칠판 환경 QA를 거쳐 v1.0.5로 납품하고, 초대 링크 만료 처리를 보완합니다.

개발 결과

스키마 기반 활동 렌더러로 6종 인터랙티브 활동 구현카드 분류·레이더 차트·원형 일과표·연결선 등 서로 다른 활동을 공용 렌더러와 필드 컴포넌트 조합으로 구성합니다.
Supabase Realtime 기반 실시간 제출 현황학생의 접속과 제출이 교사 대시보드와 전자칠판에 즉시 반영되어, 교사가 수업 중 새로고침 없이 진행 상황을 확인합니다.
학교 단위 라이선스·초대 기반 계정 발급라이선스 키와 교사 정원으로 학교별 사용을 관리하고, 초대 링크로 교사가 직접 비밀번호를 설정합니다.
71본 마이그레이션과 92개 자동 테스트로 변경 관리스키마 변경을 마이그레이션으로 누적 관리하고 Vitest·Playwright 테스트로 주요 흐름을 검증하며 660여 커밋을 반영합니다.

기술적 주안점

  • 스키마 기반 활동 렌더러 — 활동 추가·수정을 화면 개발 없이 데이터로 처리
  • 작성·조회·공개 화면이 같은 컴포넌트를 공유 — 학생이 본 그대로 교사도 확인
  • Realtime 변경분 반영 — 교사가 수업 중 새로고침 없이 제출 현황 확인
  • 전자칠판 3모드 수업 흐름 — 질문·수집·공개를 한 화면에서 전환
  • 학교 단위 라이선스와 초대 기반 계정 발급 — 관리자가 비밀번호를 다루지 않는 구조

다양한 도메인 응용

  • 교과 연계 디지털 교재·워크북 — 출판사 교재를 수업용 인터랙티브 활동으로 전환하는 서비스
  • 실시간 수업 참여 도구 — 질문 제시, 답변 수집, 익명 공개가 필요한 강의·연수·세미나
  • 기업 교육·온보딩 — 조직 단위 라이선스와 과제 제출 현황 대시보드가 필요한 사내 교육
  • 설문·워크숍 도구 — 참가자 입력을 대형 화면에 모아 함께 보는 퍼실리테이션 서비스
  • 학교·학원 B2B SaaS — 기관 단위 계정 발급과 이용 기간 관리가 필요한 교육 플랫폼

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

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

프로젝트 문의