과제 체크 앱 따라 만들기
https://sky6174.github.io/assignment-check-demo/

A01 준비: 도구 한 개와 완료 기준 정하기
Gemini 기본 또는 ChatGPT Free 등 접근 가능한 무료 도구 한 개와 GitHub 계정,일반 텍스트 편집기를 준비한다. 계정과 이용 조건은 수업 전에 확인한다. 강사 예제를 열어 입력·완료·저장의 목표를 본다.
확인: 최소 통과: 과제 추가·완료 체크·새로고침 뒤 복원·나의 공개 URL. 강사 기준 화면과 모양이 같을 필요는 없다.
강사: 생성12분·배포8분·짝검증6분의 선택 예제로 사용한다. 앞의 앱 기획 카드와 두 질문은 유지하며 자율 앱 또는 이 예제 중 한 개만 만든다. 무료 한도에 막히면 완성 ZIP으로 이어간다.

A02 생성: 첫 프롬프트로 index.html 만들기
아래 생성 요청을 무료 AI에 입력한다. 전체 코드 출력을 요청하고 코드 블록 안의 HTML만 복사한다. 유료 API나 복잡한 프레임워크가 생기면 단일 HTML 범위로 다시 요청한다.
확인: 처음은 과제명·마감일·추가·완료·이 브라우저 저장만 구현한다. 필터·집계·삭제 되돌리기는 선택 개선이다.
강사: AI가 만든 코드와 실제 동작은 다르다. 정답 화면을 베끼게 하지 않고 같은 입력과 예상 결과로 검사한다. 강사 기준 코드는 검증용 준비본이며 Gemini에서 실제 생성했다는 기록이 아니다.

A03 저장·실행: 파일 이름과 동작 확인
일반 텍스트 편집기에 붙여넣고 UTF-8의 index.html로 저장한다. ```html 같은 코드 울타리는 넣지 않는다. 확장자가 .html.txt가 아닌지 확인하고 브라우저에서 연다. “국어 독서 감상문”,과목“국어”,오늘 날짜를 넣고 추가·완료·새로고침을 시험한다.
확인: 파일 환경의 저장이 제한될 수 있다. 저장 오류 안내를 보고, 최종 보존 확인은 공개 HTTPS Pages에서 한다. 초기 화면의 빈 목록은 정상이다.
강사: 문서 편집기나 워드 형식으로 저장하지 않도록 시연한다. 오류를 고칠 때 현재 코드·입력·실제 결과·예상 결과를 AI에 준다. 수정 후 성공한 기능을 다시 확인한다.

A04 GitHub: 공개 저장소에 파일 업로드
GitHub에서 New repository를 열고 이름 assignment-check,Public을 선택한다. Add a README file을 켜고 Create repository로 만든다. Code 화면의 Add file→Upload files에서 index.html을 최상위에 올리고 Commit changes로 저장한다.
확인: 저장소 첫 화면에서 README.md와 index.html이 같은 깊이에 보여야 한다. 완성 ZIP을 풀었다면 안쪽 index.html 파일을 올리며 ZIP 자체나 한 단계 위 폴더를 올리지 않는다.
강사: 공개할 소스에는 가상 데이터만 둔다. 브라우저에서 입력한 과제 목록이 GitHub에 자동 올라가는 것은 아니다. 파일 업로드와 저장소 commit,Pages 공개는 다른 단계임을 보여준다.

A05 Pages: main / (root)에서 배포
저장소 Settings→Pages로 이동한다. Build and deployment의 Source에서 Deploy from a branch를 고른다. Branch는 index.html을 올린 main,폴더는/(root),Save를 누른다. 기본 브랜치 이름이 다르면 실제 파일을 올린 브랜치를 선택한다.
확인: 별도 유료 서비스·결제·API 키·커스텀 도메인은 필요하지 않다. GitHub Free의 이 경로는 공개 저장소로 진행한다. 저장소에 파일과 브랜치가 먼저 있어야 한다.
강사: Save 직후 바로 성공이라고 말하지 않는다. Pages 설정과 Actions에서 배포 작업의 진행·완료를 확인한다. 공개 예제는 main/(root)로 실제 배포한다.

A06 공개 확인: 배포 주소를 직접 열기
Pages가 알려주는 Visit site 주소를 열고 완료 상태를 확인한다. 프로젝트 주소 형식은 https://사용자명.github.io/assignment-check/이다. 휴대폰이나 짝에게 링크를 보내 핵심 기능을 시험한다. 배포가 대기 중이면 상태를 기록하고 다음 활동 중 완료를 확인한다.
확인: github.com의 소스 저장소 주소와 github.io의 실행 앱 주소를 구분한다. 로컬 파일에 넣은 목록이 공개 앱에 자동 복사되지 않는 것은 정상이다.
강사: Pages 배포에는 시간이 걸릴 수 있다. 배포8분은 설정·상태 확인 시간이며 대기 중에는 강사 예제로 짝 검증을 이어간다. 완료 후 각자 URL을 기록한다.

A07 짝 검증: 입력·마감·저장 경계 확인
제목 없음과 공백만 입력을 막는지 확인한다. 어제·오늘·내일 마감의 가상 과제 세 개를 만든다. 완료 상태를 바꾸고 새로고침한다. 선택 기능을 넣었다면 필터·집계·삭제/되돌리기도 확인한다.
확인: 어제 미완료만 기한 지남1개,오늘 미완료는 오늘 마감1개다. 완료한 과제는 두 집계에서 빠진다. 다른 브라우저에는 같은 데이터가 없을 수 있다.
강사: 짝이 동작을 직접 해보고 통과/실패/미확인을 기록한다. 내 컴퓨터에서만 작동했다는 설명으로 공개 URL 확인을 대체하지 않는다.

A08 수정·회고: 작은 변경을 다시 배포
제목 문구나 버튼 색 한 곳을 바꾸고 같은 index.html을 저장소에서 교체·commit한다. 새 Pages 배포가 끝난 뒤 새로고침하고 변경을 확인한다. 나의 URL,수정한 것,남은 기능 한 개를 적는다.
확인: 최신 commit과배포 완료 시각을 대조한다. 변경이 안 보이면 배포 상태·파일 위치·정확한 URL·캐시를 순서대로 확인한다.
강사: 다음 확장은 여러 기기 공유·로그인·실제 DB이다. localStorage만으로 다른 학생의 목록을 공유하거나 비밀번호로 보호할 수 있다고 설명하지 않는다.