← 처음으로

컴퓨터학부 학생회 서비스 플랫폼

학생회

역할설계 · 서버 · 인프라 · 운영
기간2023 ~ 현재 · 재적생 1,483명

요약

경북대 컴퓨터학부 재적생 1,483명 대상 학생회 서비스 플랫폼. 통합 로그인(SSO)을 중심으로 사물함·학생회비 장부·커뮤니티 서비스를 연결하고, 학부 서버에서 통합 배포·운영.

주요 업무

  • SSO 인증 서버: Google 학교 계정 인증에서 Keycloak 기반 OAuth2 인가 코드 흐름으로 전환. 역할·사용자 유형 체계, 학번 검증, 클라이언트 셀프 등록용 개발자 포털 구축
  • 공용 인증 라이브러리(auth-sso-spring-boot-starter): 설정 두 줄로 JWT 검증 자동 구성, KnuCseUser·@RequireRole 제공. GitHub Packages로 배포해 사물함·장부 서비스의 중복 인증 코드 대체
  • 통합 인프라 재설계: 서비스별 DB 스키마와 Docker 네트워크 분리, Nginx에서 내부 API 외부 차단, 재사용 CI/CD 워크플로와 운영 런북 정리, APM(Pinpoint) 연동
  • 사물함 서비스: 2023년 수업 팀 프로젝트로 시작해 2024년 재작성. 동시 신청 경합을 트랜잭션 격리 수준 조정으로 해결, 2026년 CSV 일괄 배정과 학생회비 납부 확인 연동
  • 학생증 QR 인증, 학적 명단 관리, 관리자 페이지 구축

해결한 문제

  • 프록시 경로 접두사가 두 번 제거돼 관리자 API 전체가 실패하던 문제 수정
  • DB 커넥션 초기화 단계에서 문자셋을 강제해 한글 깨짐 해결

역할 범위

SSO·공용 라이브러리·인프라는 설계와 주 구현 담당. 학생회비 장부 서비스와 각 서비스 프론트엔드는 팀원과 공동 개발.

기술 스택

  • 서버: Spring Boot, Spring Security, JPA, MySQL, Flyway
  • 인증: Keycloak, OAuth2, JWT
  • 인프라: Docker Compose, Nginx, GitHub Actions(self-hosted runner), Pinpoint
← 처음으로