[실전 2편] 근태 앱 완성 — 휴가 신청, 월별 집계, QR 보안 | S2-EP15
클로드 어디까지 써봤니
SEASON 2 · EP 15
[실전 2편] 근태 앱 완성
휴가 신청, 월별 집계, QR 보안 — 앱을 끝까지 완성하는 법
클로드의 친구 · 2026-04-18
1. EP14에서 이어서
EP14에서 팀근태 앱의 뼈대를 완성했습니다. 로그인, 사용자 관리, 출퇴근 기록까지 작동합니다. 이제 EP15에서 앱을 완성합니다. 휴가 신청 워크플로우, 월별 근무 시간 집계, 그리고 QR 코드 출퇴근 보안 기능입니다.
✅ 휴가 신청 (직원) + 승인/거절 (관리자) 워크플로우
✅ 월별 근무 시간 집계 및 시각화
✅ QR 코드 출퇴근 (Canvas API 활용)
✅ 전체 UI 마감 (반응형, 모바일 대응)
2. 휴가 신청 워크플로우 구현
휴가 신청은 여러 화면과 상태가 얽힌 복잡한 기능입니다. 이런 경우 워크플로우를 먼저 설명하고 Claude에게 요청합니다.
이처럼 복잡한 기능은 "워크플로우"를 단계별로 설명하면 Claude가 정확하게 구현해줍니다. 단순히 "휴가 기능 추가해줘"보다 훨씬 좋은 결과가 나옵니다.
3. 월별 근무 시간 집계
데이터가 쌓이면 집계가 필요합니다. 월별 근무 시간을 계산하고 시각화하는 기능을 추가합니다.
라이브러리 없이 Canvas로 차트 그리기
외부 차트 라이브러리 없이 HTML5 Canvas API만으로 간단한 막대 차트를 그릴 수 있습니다. Claude에게 "Chart.js 없이 Canvas API로 막대 차트를 그려줘"라고 하면 순수 JavaScript 코드로 만들어줍니다. 단일 HTML 파일을 유지할 수 있는 이점이 있습니다.
4. QR 코드 출퇴근 — 보안 강화
버튼 클릭만으로 출퇴근을 기록하면 대리 출근이 가능합니다. QR 코드를 활용하면 실제로 사무실에 있는 사람만 출퇴근을 기록할 수 있게 됩니다.
QR 출퇴근 워크플로우
2. 사무실 입구 모니터 또는 프린트에 QR 코드 부착
3. 직원이 스마트폰으로 QR 코드를 스캔 → 출퇴근 페이지 열림
4. 로그인 후 오늘의 QR 토큰이 유효하면 출근/퇴근 기록
단일 HTML 파일에 외부 스크립트를 불러올 수 있습니다:
<script src="https://cdnjs.cloudflare.com/ajax/libs/qrcodejs/1.0.0/qrcode.min.js"></script>
이 한 줄을 HTML 상단에 추가하면 QRCode 라이브러리를 사용할 수 있습니다. 인터넷 연결이 필요하지만, 사무실 환경에서는 문제없습니다.
5. UI 마감 — 반응형 + 모바일 대응
기능이 완성되면 UI를 다듬습니다. 특히 QR 스캔은 스마트폰에서 사용하므로 모바일 대응이 중요합니다.
6. 최종 완성 체크리스트
기본 기능
□ 로그인/로그아웃 (역할별 화면 분기)
□ 출근/퇴근 버튼 + 시각 저장
□ 오늘 근무 상태 표시 (미출근/근무중/퇴근완료)
□ 관리자: 전체 직원 오늘 근태 현황 테이블
□ 관리자: 신규 직원 추가
완성 기능
□ 휴가 신청 (직원) + 승인/거절 (관리자)
□ 월별 근무 시간 집계 + 차트
□ CSV 다운로드
□ QR 코드 생성 + 검증
□ 모바일 반응형
예외 처리
□ 중복 출근 방지
□ 로그아웃 시 세션 초기화
□ 빈 데이터 상태 처리
□ 유효하지 않은 QR 토큰 오류 처리
7. 이 앱을 넘어서 — 다음 단계
팀근태 앱을 완성했다면 자연스럽게 다음 질문이 생깁니다. "더 발전시킬 수 있을까?"
📦 서버 연동으로 업그레이드
LocalStorage → Firebase Firestore 연동으로 실시간 다중 기기 지원 가능. Claude에게 Firebase 연동 코드를 요청하면 됩니다.
📱 PWA로 앱화
HTML 앱을 PWA(Progressive Web App)로 만들면 스마트폰 홈 화면에 설치 가능. Service Worker 추가만으로 됩니다.
🔔 알림 기능
퇴근 시간 30분 전 브라우저 알림, 미출근자 자동 슬랙 메시지 등. Zapier + Slack API 연동으로 가능.
📊 Claude 분석 연동
CSV 다운로드 후 EP08에서 배운 데이터 분석을 적용. "이번 달 지각 패턴을 분석해줘" 등으로 즉시 활용 가능.
8. 클로드의 친구가 드리는 말씀
EP13~EP15, 3편에 걸쳐 실제 앱을 처음부터 끝까지 만들었습니다. 요구사항 정의, 뼈대 구현, 완성까지. 코드를 한 줄도 안 짜고 작동하는 앱이 나왔습니다.
이 과정에서 여러분이 한 일은 무엇이었습니까? 무엇을 만들지 결정했고, 어떻게 동작해야 하는지 설명했고, 결과를 테스트했습니다. 이것이 프로덕트 씽킹입니다. 코드를 짜는 능력이 아니라, 문제를 구조화하고 솔루션을 설계하는 능력. 그것은 여러분에게 이미 있었습니다.
Claude는 코드를 구현했을 뿐입니다. 아이디어와 판단은 여러분의 것입니다.
다음 편 EP16에서는 Phase 6, 통합과 철학으로 들어갑니다. 지금까지 만든 모든 것 — 이메일 자동화, 문서 생성, 정보 분석, 루틴, 앱 — 을 하나의 시스템으로 연결하는 멀티 에이전트 오케스트라를 다룹니다.
📚 시즌 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 · 통합·철학
EP 16 · 멀티 에이전트 오케스트라 — MCP 조합의 기술
🤖 Created with Claude (Anthropic)
#클로드어디까지써봤니 #클로드시즌2 #AI생산성 #앱완성 #근태앱 #QR출퇴근 #휴가신청 #Canvas차트 #PWA #반응형웹 #Claude코딩 #비개발자앱 #실전프로젝트 #하네스엔지니어링 #Anthropic #클로드의친구 #AI앱개발 #웹앱 #팀근태 #Firebase
コメント
コメントを投稿