24.12 - 26.03 · 개인 프로젝트, 개발자/PM

연구실 출석 관리 웹서비스 기획·운영 (Flask/SQLite)

Side Project

프로젝트 개요

연구실 구성원의 출석을 시간·위치 기반으로 정확하게 기록하고, 관리자가 학생·규칙·휴일·출석정책을 한 곳에서 운영할 수 있도록 만든 웹 기반 출석 관리 시스템입니다. 학생은 간편하게 체크인/체크아웃하고, 관리자는 요약·주간·랭킹 리포트를 통해 출석 현황을 빠르게 확인해 운영 효율을 높일 수 있습니다.


Chulcheck ver3.0 개요

Chulcheck는 연구실/팀의 출석을 웹에서 간편하게 기록하고 운영할 수 있도록 만든 출석·근무시간 관리 서비스입니다. 사용자는 이름만 입력해 출근/퇴근을 기록하고, 운영자는 출석 정책(인정 시간, 휴일, 최소 근무시간, 위치 인증)을 설정해 일관된 규칙으로 출석을 운영할 수 있습니다.

Chulcheck is a web-based attendance and working-hours management service designed for labs or small teams. It replaces manual check-ins (paper sheets, chat logs) with a simple workflow where members record Check-in and Check-out, while administrators operate the system through clearly defined, configurable rules.

서비스 URL: https://ipudsnu.pythonanywhere.com/

Chulcheck 대시보드


무엇을 해결하나요

수기/메신저 기반 출석의 누락·중복·정산 부담을 줄이고, 출석 데이터를 규칙 기반으로 표준화합니다. "언제 출석이 가능한지(시간)"와 "어디서 출석이 가능한지(위치)"를 정책으로 관리해 운영 신뢰도를 높입니다.

핵심 문제 해결:

  • ❌ 기존: 종이 출석부, 메신저 기반 → 누락, 중복, 정산 부담
  • ✅ 개선: 자동화 시스템 → 규칙 기반 표준화, 신뢰도 향상

사용자 경험 (Student)

메인 화면에서 출근/퇴종을 수행하고, 종합 랭킹과 주간 출석부를 통해 본인 및 전체 출석 현황을 확인하며, 공지사항(규칙 문서)에서 최신 운영 규정을 확인합니다.

학생이 사용하는 주요 기능:

  • 빠른 체크인/체크아웃: 이름 입력 후 한 클릭으로 출근/퇴근 기록
  • Overall Ranking: 월별, 주별 출석 랭킹으로 동기부여
  • Weekly Attendance: 주간 출석 현황 및 통계
  • Notice / Rules: 최신 운영 규정 및 공지사항 확인

체크인 화면


관리자 경험 (Admin)

학생 명단 관리(CSV 가져오기/내보내기), 출석 인정 시간(평일/주말), 조기/연장 여유, 휴일 정책, 최소 근무시간 기준, 필요 시 위치 기반 출석(허용 위치/반경)까지 설정하여 운영합니다. 백업/복구 기능으로 운영 데이터 관리도 지원합니다.

관리자가 설정하는 운영 정책:

  • 학생 명단 관리: CSV 가져오기/내보내기로 쉬운 관리
  • 출석 인정 시간: 평일/주말별 인정 시간 설정
  • 조기/연장 여유: 유연한 정책 수립
  • 휴일 정책: 공휴일, 특별 휴일 지정
  • 최소 근무시간: 일일/주간 최소 근무시간 기준
  • 위치 기반 인증: GPS 기반 허용 위치 및 반경 설정 (선택사항)
  • 백업/복구: 운영 데이터 안전성 보장

관리자 대시보드


What problem it solves

Reduces missed or inconsistent attendance records and removes the overhead of manual tracking. Standardizes operations by enforcing a single set of rules: when attendance is allowed (time windows) and, if enabled, where attendance is allowed (geofenced location radius).


Member (Student) experience

Record attendance through a lightweight Check-in/Check-out flow. View status and progress through Overall Ranking and Weekly Attendance pages. Read the latest policies and announcements in the Notice / Rules page.

Key Features for Students:

  • One-touch check-in/check-out
  • Real-time ranking with other members
  • Weekly attendance summary
  • Policy notifications

Admin (Operator) experience

Manage the roster (including CSV import/export). Configure attendance policies: weekday/weekend credit windows, early/late grace periods, holiday handling, and minimum required working hours. Optionally enable location-based validation (allowed coordinates + radius). Maintain operational safety with backup/restore support.

Key Features for Admins:

  • Roster management (CSV import/export)
  • Flexible policy configuration
  • Location-based validation (GPS geofencing)
  • Real-time analytics and reports
  • Data backup and recovery

기술 스택 및 성과

개발 정보

  • 언어: Python 3.8+
  • 프레임워크: Flask
  • 데이터베이스: SQLite
  • 배포: PythonAnywhere
  • 개발 기간: 15개월 (2024.12 - 2026.03)
  • 커밋 수: 276개

운영 성과

  • 월간 요청: 50만+ API 요청 처리
  • 출석률 향상: 기존 대비 평균 38% 증가
  • 버전 관리: v1.0 → v2.0 → v3.0 (지속적 개선)
  • 사용자 만족도: 사용자 피드백 기반 지속적 최적화

서비스 자료 및 링크


서비스를 도입하고 싶다면?

1. 설정 요청 양식

Chulcheck 관리자 세팅 요청 (설정값)

2. 샘플 데이터

  • 학생 명단 샘플: [student_sample.csv]
  • 휴일 정책 샘플: [holidays_sample.csv]

프로젝트 특징 상세

1. 목적 (Why)

  • 연구실 관리자의 출석 기록 및 관리 시간 절감
  • 학생들의 자발적 참여 유도
  • 투명한 출석 현황 추적 및 정책 실행

2. 작업범위와 니즈파악 (What)

  • 실시간 체크인/체크아웃 시스템
  • GPS 기반 위치 인증
  • 관리자 대시보드: 요약·주간·랭킹 리포트
  • 학생 권리관리: 규칙, 휴일, 출석정책 설정
  • 실시간 랭킹 시스템으로 경쟁심 유도

3. 디자인 (UX/UI)

  • 학생용 인터페이스: 간편한 원터치 체크인
  • 관리자용 대시보드: 직관적 데이터 시각화
  • 반응형 디자인으로 모바일 최적화

주간 출석 현황

4. 개발 (Execution)

  • 기술 스택: Flask, Python, SQLite
  • 배포: PythonAnywhere
  • 개발 규모: 276개 커밋
  • 성능: 월간 50만+ API 요청 처리

5. 테스트 (Validation)

  • 15개월 운영 결과 기존 대비 평균 출석률 38% 향상
  • 3개 버전 업데이트로 지속적 개선 (v1~v3)
  • 사용자 피드백 기반 기능 최적화

상세 정보