[포트폴리오] QR코드 스마트 출석 모임 시스템
프로젝트 개요
- 프로그램명: QR코드 스마트 출석 모임 시스템
- 소개:
- 기존 출석인증방식(숫자코드 입력)과 달리 재생성되는 QR 코드 스캔으로 출석 인증을 하여 부정출석을 방지하는 모임 웹
- 개발 기간: 2024년 4월 ~ 2024년 6월
- 인력 구성: 팀(3인)
- 프론트엔드 1인
- 백엔드 2인(본인)
- 수행업무 (백엔드 담당)
-
인증 및 권한 관리
- 스프링 시큐리티의 세션 기반 폼 로그인을 활용한 로그인 기능 구현
- 리소스 기반 접근 제어를 통해 모임별 사용자의 역할(주최자, 참여자)을 검증하고 세밀한 권한 관리 수행.
- 주최자와 참여자의 권한을 코드로 구현하여 모임별 상태와 역할을 동적으로 검증
-
핵심 기능 구현
- 모임 관리: 모임 생성/삭제, 정보 및 참여자 목록 조회, 모임 이름 수정(주최자만 가능), 가입/탈퇴 기능
- 출석 관리:
- QR 코드 출석 체크: 주최자가 15초의 만료시간을 가진 QR코드를 생성하고, 참여자는 이를 통해 출석을 체크. 스캔 여부와 시간에 따라 출석, 지각, 결석 상태로 처리
- 출석 상태 조회: 참여자는 자신의 출석 정보를, 주최자는 모임 전체 출석 정보를 조회 가능.
-
- 성과: 교수님과 동료들로부터 우수한 평가(A+)를 받음
기술 스택
- 프레임워크:
Spring Boot - 라이브러리:
ZXing: 자바 기반의 QR 코드 생성 라이브러리로, 다양한 코드 형식을 지원하고 높은 성능과 정확도를 제공하여 선택
- 데이터베이스:
MySQL
시스템 구조도
- 블록 다이어그램
- 시퀀스 다이어그램
주요 기능
- 로그인 및 회원가입
- 사용자는 이메일과 비밀번호로 로그인하거나 회원가입을 통해 계정을 생성
- 비밀번호는 암호화하여 저장됨
- 모임 관리 및 참여
- 주최자:
- 새로운 모임을 주최하고 홍보 게시글을 작성 가능
- 주최자는 자신이 주최한 모임을 관리하고, 참여자 목록과 출석을 확인 가능
- 참여자:
- 사용자는 모임 게시글을 보고, 원하는 모임에 가입 가능
- 참여자는 자신의 출석을 확인 가능
- 주최자:
-
QR 출석 시스템
- 주최자는 출석가능 시간과 지각처리 가능시간을 설정하여 QR코드를 생성
- QR코드는 15초마다 재생성되며, 만료된 QR코드는 사용 불가
- 참여자는 QR코드를 스캔하여 출석
- 지각 처리 가능 시간 이후에도 출석하지 않은 참여자는 결석으로 처리
결과
- 편의성 증진
- QR 코드 스캔만으로 출석을 인증하여 편리함을 제공하고, 기존 숫자코드의 잘못된 입력을 방지
-
부정출석 방지
- QR 코드의 만료시간을 활용하여 코드 전송을 통한 부정 출석을 방지
- 다양한 출석 상태 처리
- 코드의 정보 변환을 통해 출석과 지각 처리
- 다양한 모임 관리
- 하나의 시스템으로 여러 모임 관리
주요 화면
- 기본 화면
-
주최자 기능 화면
- 참여자 기능 화면
Leave a comment