Done? Done!

냈어? 냈어! · 업데이트 안내

코드 두 개만 바꾸면 5분 안에 끝나요

기존에 쓰시던 스프레드시트와 학생 코드는 그대로 유지됩니다. 아래 버튼으로 코드를 복사해서 Apps Script에 붙여넣기만 하면 됩니다.

Done? Done! v3.1.0 배포일 2026-09-04

이번 업데이트 (v3.1.0) — 파일 여러 개 첨부

지난 버전에서 바뀐 것 모두 보기 (v3.0.1 · v3.0 · v2.2 · v2.1)

v3.0.1에서 고쳐진 것

  • 선생님이 등록한 과제가 학생 화면에 하나도 안 뜨던 문제 — 반 이름이 "3-1"처럼 숫자와 붙임표로 되어 있으면 구글 시트가 이 값을 날짜(2026-03-01)로 바꿔서 저장해 버렸습니다. 그러면 과제의 '대상수업'과 학생의 '수업장소'가 서로 다른 값이 되어, 선생님 화면에는 과제가 멀쩡히 보이는데 학생 화면만 "등록된 과제가 없습니다"로 비어 있었습니다. 이제 대상수업을 글자 그대로 저장하고, 이미 날짜로 바뀌어 저장된 기존 과제도 업데이트 직후 자동으로 되돌립니다. (선생님이 따로 하실 일은 없습니다)
  • 반 이름을 "3 - 1", "3/1"처럼 조금 다르게 적어 두어도 같은 반으로 알아봅니다 — 학생 명단과 과제의 반 표기가 어긋나 과제·제출 현황이 비어 보이던 문제도 함께 해결됩니다.
  • 학생이 앱을 켜 둔 채로 있어도 [과제 제출] 탭을 다시 누르면 과제 목록을 새로 받아옵니다 — 수업 중에 과제를 올려도 학생이 새로고침할 필요가 없습니다.
  • 학생 화면에 과제가 없을 때 지금 접속한 반 이름을 함께 표시합니다 — 반이 잘못 지정된 경우를 바로 알아볼 수 있습니다.
  • 과제를 수정할 때도 대상수업·마감일이 날짜로 바뀌지 않도록 막았습니다.

v3.0에서 새로 생긴 것

  • 학생 자동 로그인 — 학생이 로그인 화면에서 [이 기기에서 자동 로그인]을 체크해 두면, 다음부터는 앱을 열자마자 6자리 코드 없이 바로 자기 화면으로 들어갑니다. 코드는 그 기기에만 저장되고 서버에는 아무것도 남지 않습니다. 로그아웃을 누르면 저장이 지워지고, 선생님이 학생을 지우거나 코드가 바뀌면 저장된 코드도 자동으로 정리됩니다. 공용 기기에서는 체크하지 않도록 안내해 주세요. (워드클라우드 QR로 들어온 경우에는 자동 로그인이 동작하지 않아 QR 참여가 그대로 유지됩니다.)
  • 참 잘했어요 도장 — 피드백을 쓸 때 도장을 1~3개까지 함께 찍어줄 수 있습니다. 학생 화면 맨 위에 지금까지 모은 도장이 바로 보입니다.
  • 학급공약 — "도장 100개 모으면 영화 보기"처럼 반 전체 목표를 걸어두고, 모이면 [공약 실시]를 눌러 도장을 차감합니다.
  • 학생 화면에 우리 반이 함께 모은 도장과 목표까지 남은 개수가 표시됩니다.
  • 선생님 사이드바에 🏅 도장 · 학급공약 메뉴 추가 — 반 전체 도장 현황, 많이 받은 학생 1~3위, 공약 등록·실시를 한 화면에서.
  • 학생 이름 수정 기능 추가 — 이름을 고치면 예전 제출물·피드백과 드라이브 폴더 이름까지 함께 정리됩니다. 6자리 코드는 그대로라 학생이 다시 로그인할 필요가 없습니다.
  • 제출물을 반려하면 그 과제로 줬던 도장도 자동으로 회수됩니다.
  • 클래스 이름을 바꾸거나 지울 때 그 반의 학급공약 기록도 함께 따라옵니다.
  • ☁️ 워드클라우드 — 질문을 하나 던지면 학생들이 답한 단어가 화면에 실시간으로 모이고, 많이 나온 단어일수록 크게 보입니다. 전체화면으로 띄우면 그대로 수업 자료가 됩니다.
  • 학생은 QR코드만 찍으면 참여합니다 — 6자리 코드도 로그인도 필요 없습니다. 1인당 제출 횟수(기본 5회)는 선생님이 정하시고, 자주 쓰는 질문은 프리셋으로 저장해 두고 다음 시간에 다시 부를 수 있습니다.

v2.2에서 고쳐진 것

  • 선생님이 쓴 피드백이 학생에게 보이지 않던 문제 — "저장되었습니다"가 떴는데도 학생 화면에는 '피드백 대기'로 남던 현상입니다. 학생목록의 학번 칸이 비어 있는 반에서 특히 자주 났습니다.
  • 같은 원인으로 다른 학생의 제출물이 엉뚱한 학생 카드에 보이던 문제
  • 제출한 뒤에 학번을 채워 넣으면 그 학생의 제출물·피드백이 끊기던 문제
  • 스프레드시트 메뉴에 [🩺 피드백 연결 점검] 추가 — 학생에게 안 보이는 피드백을 찾아줍니다
  • 클래스 이름 변경·삭제 기능 추가
  • 학생별·과제별 엑셀 내려받기(생활기록부 참고자료) 추가

v2.1에서 고쳐진 것

  • 선생님이 쓴 과제 설명이 학생 화면에 나오지 않던 문제
  • 화면의 버튼이 동작하지 않던 문제
  • 제출 시각이 9시간 어긋나 보이던 문제
  • 학생이 올린 파일이 엉뚱한 폴더에 저장되던 문제
  • 과제를 지운 뒤 새로 만들면 남의 제출물이 딸려오던 문제
  • 학생 일괄 등록이 너무 느리던 문제 (30명 기준 수십 초 → 수 초)
  • 반려한 학생이 다시 제출해도 계속 '반려'로 보이던 문제
  • 학생에게 다른 반 과제까지 보이던 문제
  • 접근할 수 없던 현황판 메뉴 복구, 과제 첨부파일 제거 기능 추가

업데이트 방법

아래 순서를 그대로 따라가 주세요. 순서가 중요합니다 — 특히 3단계는 4단계(배포)보다 반드시 먼저입니다.

0

선택 · 권장

안전을 위해 시트 사본 만들기

평소 쓰시던 스프레드시트에서 [파일] → [사본 만들기] 를 눌러 백업을 하나 남겨두세요. 혹시 중간에 문제가 생겨도 이 사본으로 바로 되돌릴 수 있습니다.

1

가장 중요

코드 복사해서 붙여넣기

평소 쓰시던 스프레드시트 → [확장 프로그램] → [Apps Script] 를 여세요. 그다음 파일 두 개를 각각 이렇게 바꿉니다.

  1. 왼쪽 파일 목록에서 해당 파일을 클릭
  2. 편집창 아무 곳이나 클릭 → 전체 선택 (Ctrl+A, Mac은 Cmd+A)
  3. 아래 복사하기 버튼을 눌러 새 코드를 복사했다면 → 붙여넣기 (Ctrl+V)
  4. 저장 (Ctrl+S)
Code.gs

Apps Script 왼쪽 목록의 Code.gs 파일에 붙여넣으세요.

코드 미리보기
index.html

Apps Script 왼쪽 목록에는 index 라는 이름으로 보입니다. 그 파일에 붙여넣으세요.

코드 미리보기
시트 ID를 입력하실 필요 없습니다

예전에는 코드 맨 위에 시트 ID를 직접 적어야 했지만, 이제는 자동으로 연결됩니다.

2

중요

최초 설정 한 번 실행

스프레드시트로 돌아와 새로고침(F5) 하면 상단에 [✏️ Done? Done!] 메뉴가 생깁니다.

[✏️ Done? Done!] → [① 최초 설정 / 시트 만들기] [✏️ Done? Done!] → [② 기존 데이터 이어쓰기]

"✅ 이 스프레드시트에 연결되었습니다" 안내가 뜨면 성공입니다.

[③ 예전 시트에서 가져오기]는 지금 누르지 않으셔도 됩니다

이건 데이터가 다른 시트에 있을 때 끌어오는 메뉴입니다. 쓰던 시트에 코드만 바꾸는 대부분의 경우엔 필요 없습니다. 바로 다음 단계인 '연결된 시트 확인'에서 낯선 시트가 뜨면 그때 쓰게 됩니다. (실수로 누르셔도 중복은 자동으로 걸러져 데이터가 망가지지 않습니다)

메뉴가 안 보이신다면?

Apps Script를 스프레드시트가 아닌 곳(script.google.com)에서 따로 만드신 경우입니다. setupSpreadsheet부터 실행하시면 오류가 납니다 — 순서가 다릅니다.

  1. Apps Script 편집기에서 아래 함수를 새로 만들어 ▶ 실행하세요. (시트 주소를 통째로 붙여넣으셔도 됩니다)
    function 시트연결() { bindSpreadsheet("여기에_시트주소_또는_ID"); }
  2. "✅ 연결되었습니다"가 나오면, 이어서 setupSpreadsheet 을 실행하세요.
  3. 그다음 upgradeExisting 을 실행하시면 이 단계가 끝납니다.
[② 기존 데이터 이어쓰기]가 정확히 무엇을 하나요?

빠진 시트를 만들고(이미 있으면 건너뜀), 날짜·시각 서식을 고정하고, 예전 오류로 생긴 중복 과제ID·중복 학생코드를 정리합니다.

이번 v3.0에서는 여기에 더해 도장·학급공약에 필요한 자리를 만들어 둡니다 — 피드백 시트 맨 뒤에 도장 열이 하나 붙고, 학급공약 시트가 새로 생깁니다. 기존 피드백 내용은 그대로 있고 열 하나만 늘어납니다.

학생들이 쓰던 6자리 코드는 그대로 유지됩니다. 실행 후 뜨는 안내창에 "중복 학생코드 재발급: 0건"이라고 나오면 아무도 코드가 바뀌지 않은 것입니다. 0건이 아니라면 학생목록 시트에서 해당 학생의 새 코드를 확인해 알려주세요. 여러 번 실행해도 안전합니다.

3

배포 전 필수

연결된 시트 확인

[✏️ Done? Done!] → [🔎 연결된 시트 확인]

지금 앱이 어느 시트를 보고 있는지 알려줍니다. 여기 뜨는 시트 이름이 평소 쓰시던 그 시트가 맞는지 확인해 주세요.

다른 시트가 뜬다면 배포하지 마세요

예전 버전은 코드 맨 위에 시트 ID를 직접 적는 방식이었습니다. 혹시 스크립트가 붙어 있는 시트와 거기 적어두셨던 시트가 서로 달랐다면, 이번 업데이트 후 앱이 다른 시트를 보게 되어 학생·과제가 하나도 없는 것처럼 보일 수 있습니다.

이럴 때 쓰는 메뉴가 있습니다 — [✏️ Done? Done!] → [③ 예전 시트에서 가져오기] 에 데이터가 들어 있는 원래 시트의 주소(또는 ID)를 붙여넣어 주세요. 학생·과제·제출물·피드백이 지금 시트로 옮겨오고, 6자리 코드도 그대로 유지됩니다. 옮겨온 뒤 [② 기존 데이터 이어쓰기]를 한 번 더 누르고 배포하세요.

4

이걸 해야 실제로 반영됩니다

새 버전으로 배포

Apps Script 편집기에서:

[배포] → [배포 관리] → 연필(✏️) 아이콘 → 버전: [새 버전] → [배포]

URL은 바뀌지 않습니다. 학생들에게 주소를 다시 알려줄 필요 없습니다. 다만 3단계를 먼저 하고 4단계를 하셔야 합니다 — 순서가 바뀌면 잠시 오류가 날 수 있습니다.

업데이트 후 확인해 보세요

문제가 생기면

학생도 과제도 하나도 없어요

데이터가 지워진 게 아니라 앱이 다른 시트를 보고 있는 것입니다. 안심하세요. [🔎 연결된 시트 확인]으로 어느 시트인지 보시고, 원래 시트가 아니라면 [③ 예전 시트에서 가져오기]에 원래 시트 주소를 넣어 데이터를 옮겨오세요. 그 뒤 [② 기존 데이터 이어쓰기]를 한 번 더 눌러주시면 됩니다.

예전에 써 둔 피드백이 학생에게 안 보여요

v2.2 이전에 저장된 피드백 중 일부는 엉뚱한 학생 앞으로 기록돼 아무에게도 보이지 않을 수 있습니다. 스프레드시트에서 [✏️ Done? Done!] → [🩺 피드백 연결 점검]을 실행하면 그런 기록을 행 번호까지 찾아줍니다. 시트를 건드리지 않고 알려주기만 하니 안심하고 눌러보셔도 됩니다. 목록에 뜬 피드백은 웹앱에서 해당 학생을 찾아 다시 저장하시면 정상적으로 보입니다. (새 코드로 바꾼 뒤부터 쓰는 피드백은 이런 일이 생기지 않습니다)

과제를 등록했는데 학생 화면에는 안 보여요

v3.0.1에서 고쳐진 문제입니다. "3-1"처럼 숫자와 붙임표로 된 반 이름이 구글 시트에서 날짜로 바뀌어 저장되는 바람에, 과제의 대상수업과 학생의 수업장소가 서로 다른 값이 되어 생겼습니다. 새 코드로 업데이트하시면 이미 잘못 저장된 과제까지 자동으로 되돌아가 학생 화면에 바로 나타납니다. 업데이트 후에도 안 보인다면 스프레드시트의 과제목록 시트 F열(대상수업)과 학생목록 시트 A열(수업장소)에 적힌 반 이름이 같은지 확인해 주세요. (모든 반에 보여주고 싶은 과제는 대상수업을 비워 두시면 됩니다)

"연결된 스프레드시트가 없습니다" 오류가 떠요

2단계의 [① 최초 설정]을 아직 안 하신 경우입니다. 실행해 주세요. 독립 프로젝트라면 bindSpreadsheet("시트주소")를 먼저 실행하셔야 합니다.

🏅 도장 · 학급공약 메뉴가 안 보여요

거의 대부분 4단계(새 버전으로 배포)를 아직 안 하신 경우입니다. 코드만 붙여넣고 저장한 상태에서는 학생·선생님이 보는 주소에 아직 예전 화면이 나옵니다. 배포까지 마치신 뒤 브라우저에서 새로고침(Ctrl+F5) 해 보세요.

학생이 워드클라우드 QR을 찍었는데 로그인 화면이 떠요

아직 4단계(새 버전으로 배포)가 안 끝난 상태입니다. 주소는 예전과 같지만 예전 버전에는 워드클라우드 참여 화면이 없어서 평소의 로그인 화면이 나옵니다. 배포를 마치신 뒤 세션을 다시 시작해 새 QR을 띄워 주세요. 참여에는 6자리 코드가 필요 없습니다.

자동 로그인을 켰는데 다음에 열면 코드를 또 물어봐요

학생이 로그아웃을 눌렀거나, 브라우저에서 시크릿(비공개) 창을 쓰거나 인터넷 사용기록·쿠키를 지운 경우입니다. 학생 코드는 그 기기의 브라우저에만 저장되기 때문에, 기록을 지우면 함께 사라집니다. 다시 코드를 입력하고 체크박스를 켜 주시면 됩니다. (다른 기기나 다른 브라우저에는 저장이 따라가지 않습니다)

공용 태블릿에서 자동 로그인을 켰는데 어떻게 끄나요?

그 기기에서 학생 화면의 로그아웃을 한 번 누르면 저장된 코드가 지워집니다. 또는 로그인 화면에서 체크를 푼 채로 코드를 입력해 접속하셔도 이전에 저장된 코드까지 함께 지워집니다. 학교 공용 기기에서는 체크하지 않도록 미리 안내해 주세요.

공약 실시 버튼이 회색으로 눌리지 않아요

아직 남은 도장이 목표에 못 미친 상태입니다. 목표만큼 모이면 버튼이 저절로 켜집니다. 공약을 실시하면 그만큼 도장이 차감되고, 학생들이 새로 받는 도장부터 다시 쌓입니다. (학생 개인의 도장 누계는 차감되지 않고 그대로 남습니다)

학생 이름을 고치면 그 학생이 다시 로그인해야 하나요?

아닙니다. 학생을 찾는 기준은 이름이 아니라 6자리 코드라서, 이름을 바꿔도 코드는 그대로이고 예전 제출물·피드백도 그대로 이어집니다. 제출물·피드백 시트와 드라이브의 학생 폴더 이름까지 함께 정리됩니다.

복사 버튼을 눌러도 반응이 없어요

버튼이 "⚠ 자동 복사 실패"로 바뀌면, 같은 카드의 코드 미리보기를 펼쳐서 안의 코드 상자를 클릭 → 전체 선택(Ctrl+A) → 복사(Ctrl+C)로 직접 복사해 주세요.

그 외 문제가 있어요

0단계에서 만들어 둔 시트 사본으로 되돌리신 뒤 다시 시도해 주세요. 그래도 안 되면 아래 인스타그램으로 연락 주세요.