[실전 1편] 근태 앱 뼈대 세우기 — DB 설계와 회원가입 | S2-EP14
클로드 어디까지 써봤니
SEASON 2 · EP 14
[실전 1편] 근태 앱 뼈대 세우기
DB 설계, 회원가입, 로그인 — Claude와 함께 첫 코드 쓰기
클로드의 친구 · 2026-04-18
1. 이제 진짜 만든다
EP13에서 팀근태(TeamAttend) 앱의 요구사항을 완성했습니다. 이제 실제 코드를 작성합니다. Claude에게 코드를 만들어달라고 하는 것이지만, 이 과정에서 어떻게 대화해야 하는지, 결과를 어떻게 검증하는지를 함께 배웁니다.
이 편에서 만들 것은 앱의 뼈대입니다. 로그인, 사용자 관리, 역할별 화면 분기까지 — 이후 기능들이 올라탈 수 있는 구조를 먼저 만듭니다.
✅ LocalStorage 기반 데이터 레이어 (users, attendance, leaves 구조)
✅ 로그인 / 로그아웃
✅ 관리자 화면: 직원 목록 조회 + 신규 직원 추가
✅ 직원 화면: 대시보드 (오늘 출퇴근 상태 표시)
✅ 역할별 라우팅 (관리자 ↔ 직원 화면 자동 분기)
2. Claude에게 코드를 요청하는 방법
코드를 요청할 때도 "잘 짜인 발주"가 필요합니다. 막연하게 "앱 만들어줘"가 아니라, EP13에서 정의한 명세를 명확하게 전달해야 합니다.
첫 번째 코드 요청 — 뼈대 구조
코드를 받은 후 해야 할 일
Claude가 코드를 주면 바로 복사해서 텍스트 파일에 붙여넣고 확장자를 .html로 저장합니다. 브라우저에서 열면 바로 실행됩니다. 동작을 확인하면서 수정이 필요한 부분을 Claude에게 구체적으로 요청합니다.
❌ "버튼 색이 이상해" → 막연함
✅ "로그인 버튼 색을 #1a4d2e 진한 초록으로, 텍스트는 흰색으로 바꿔줘"
❌ "뭔가 안 돼" → 막연함
✅ "admin1 / admin123으로 로그인하면 콘솔에 'Cannot read property id of null' 오류가 나. 아래 코드의 어디가 문제일까?" + 관련 코드 붙여넣기
3. 뼈대 코드 핵심 구조 설명
Claude가 만들어준 뼈대 코드의 핵심 구조를 이해하면 이후 기능 추가가 훨씬 쉬워집니다.
LocalStorage 데이터 레이어
화면 전환 (SPA 방식)
4. 오류가 났을 때 Claude와 디버깅하기
코드를 처음 받으면 오류가 나는 경우가 종종 있습니다. 당황하지 말고 오류 메시지를 그대로 Claude에게 전달합니다.
디버깅 요청 방법
브라우저 콘솔은 F12(또는 Cmd+Option+I)를 누르면 열립니다. Console 탭에 빨간 오류 메시지가 있으면 그것을 복사해서 Claude에게 주면 됩니다. 대부분의 경우 Claude가 몇 번의 대화 안에 해결해줍니다.
Claude는 완벽하지 않습니다. 특히 코드가 길어질수록 앞에서 정의한 함수명을 나중에 다르게 쓰는 실수가 생깁니다. 이런 경우 "함수명 login과 loginUser가 혼용되고 있어. login으로 통일해줘"처럼 구체적으로 수정 지시하면 됩니다. 오류를 신고하듯이 정확하게 말하는 것이 핵심입니다.
5. 기능 추가 — 출퇴근 기록
뼈대가 완성되면 기능을 하나씩 추가합니다. 출퇴근 기록 기능을 추가하는 요청 예시입니다.
6. 관리자 기능 — 직원 목록 + 근태 현황
관리자 화면에도 핵심 기능을 추가합니다.
7. 실습 — EP14 완성 체크리스트
EP14에서 만든 앱을 직접 테스트해보는 체크리스트입니다.
□ 브라우저에서 HTML 파일을 열면 로그인 화면이 나온다
□ admin1 / admin123으로 로그인하면 관리자 화면으로 이동한다
□ emp1 / 1234로 로그인하면 직원 화면으로 이동한다
□ 직원 화면에서 "출근하기" 버튼을 누르면 현재 시각이 저장된다
□ 출근 후 새로고침해도 출근 상태가 유지된다 (LocalStorage 확인)
□ "퇴근하기" 버튼을 누르면 근무 시간이 계산된다
□ 관리자 화면에서 오늘 근태 현황 테이블이 보인다
□ 신규 직원을 추가하면 목록에 즉시 반영된다
□ 로그아웃 후 뒤로가기를 눌러도 로그인 화면으로 돌아온다
브라우저 F12 → Application 탭 → Local Storage → 파일 경로 선택
users, attendance 키에 데이터가 저장되어 있으면 정상입니다.
데이터를 초기화하려면 LocalStorage의 해당 키를 삭제하면 됩니다.
8. 클로드의 친구가 드리는 말씀
처음으로 실제 작동하는 앱을 만들어보면 이상한 감정이 듭니다. "내가 이걸 만들었다고?" 하는 놀라움입니다. 코드 한 줄 안 짰는데 앱이 돌아갑니다.
이것이 Claude와 함께하는 개발의 핵심입니다. 코드를 쓰는 것은 Claude가 합니다. 무엇을 만들지, 어떻게 동작해야 하는지, 테스트하고 검증하는 것은 여러분이 합니다. 이 역할 분담이 비개발자가 실제 앱을 만들 수 있게 합니다.
다음 편 EP15에서 앱을 완성합니다. 휴가 신청과 관리자 승인 워크플로우, 월별 근무 시간 집계, 그리고 QR 코드 출퇴근 기능을 추가합니다.
📚 시즌 2 전체 에피소드 목차
Phase 0 · 출발
Phase 1 · 커뮤니케이션 자동화
EP 01 · 이메일 100통, AI가 5분에 정리한다
Phase 2 · 문서·콘텐츠 생산
EP 05 · 하나를 쓰면 다섯이 나온다 — 콘텐츠 파이프라인
EP 06 · 프레젠테이션, AI가 슬라이드까지 만든다
Phase 3 · 정보 관리·분석
Phase 4 · 일상·루틴 자동화
EP 12 · 반복 업무 사냥꾼 — 자동화할 것을 찾는 법
★ Phase 5 · 실전 프로젝트
EP 13 · Claude에게 앱을 발주한다 — 요구사항을 설계로 바꾸는 법
▸ EP 14 · [실전 1편] 근태 앱 뼈대 세우기 — DB 설계와 회원가입
EP 15 · [실전 2편] 근태 앱 완성 — 휴가 신청, 출퇴근, QR 보안
Phase 6 · 통합·철학
🤖 Created with Claude (Anthropic)
#클로드어디까지써봤니 #클로드시즌2 #AI생산성 #앱개발 #근태관리앱 #LocalStorage #HTML앱 #Claude코딩 #비개발자앱 #실전프로젝트 #웹앱개발 #하네스엔지니어링 #Anthropic #클로드의친구 #AI앱개발 #업무앱 #근태앱 #팀근태 #JavaScript #프론트엔드
コメント
コメントを投稿