Skip to content

kusitms-com/32nd_Meetup_Team8_KuCheck_Back

Repository files navigation

큐-첵 (Ku-check): 큐시즘의 모든 일을 한큐에 체크하다, 큐첵

🔗 서비스 링크: https://ku-check.vercel.app

큐첵 소개

🎨 서비스 설명

  • 큐첵은 큐시즘 운영에 흩어져 있던 출결, 상벌점, 공지, 불참사유서 제출을 하나로 통합해 학회 운영을 더 정확하고 간편하게 만드는 전용 관리 서비스입니다.
  • 운영진은 반복적인 수기 행정을 줄일 수 있고, 학회원은 내 활동 현황과 이번 주 핵심 정보를 한 곳에서 확인하며 불참사유서까지 앱에서 바로 제출할 수 있습니다.

💻 Backend Members

김영록 김민지
backend backend

📜 API 명세서

큐첵 개발 서버 API 명세서

🗃️ ERD

Ku-Check (1) (1)

🛠️ 기술 스택

기술 스택 사용 이유
Spring Kotlin Kotlin은 간결하고 읽기 쉬운 문법을 제공하여 개발 생산성이 높아진다고 판단해 사용했습니다.
Java 기반 기술 스택과 완벽히 호환되어 러닝커브가 적다고 생각했습니다.
Null-safety 덕분에 런타임 오류(NPE)를 줄일 수 있어 선택했습니다.
Spring Data JPA SQL을 직접 작성하지 않고 객체지향적인 방식으로 DB를 다루기 위해 JPA를 사용하였으며, Spring 환경에서 이를 쉽게 활용할 수 있도록 지원하는 Spring Data JPA를 선택했습니다.
AWS EC2 서비스 배포 서버로 사용했습니다.
AWS S3 큐픽 증빙사진, 불참증명서 파일 등을 저장하기 위한 파일 저장소로 사용했습니다.
AWS RDS 타 클라우드 대비 저렴하고, VPC·보안 그룹과 통합되어 안전한 접근 제어가 가능하여 사용했습니다.
Docker 개발 및 배포 환경을 컨테이너화하여 일관된 환경을 유지하기 위해 사용했습니다.
GitHub Actions GitHub 기반으로 CI 환경을 일원화하여 자동화된 빌드 및 테스트 환경을 구축하기 위해 사용했습니다.
MySQL 8.x MySQL 5 대비 향상된 성능, 강화된 보안 기능, 공간 데이터 처리 기능을 제공하여 사용했습니다.
Redis TTL을 제공해 토큰과 같은 세션 정보를 유효시간 기반으로 관리할 수 있습니다.
메모리 기반 저장소로 DB 대비 빠른 속도를 제공하여 로그인 등 세션 관리에 적합합니다.
JUnit JUnit Jupiter/Platform/Vintage 등 모듈형 구성 덕분에 유연하고 확장 가능한 테스트 환경을 제공하여 사용했습니다.
AssertJ 외부 의존성을 모킹해 특정 단위만 독립적으로 테스트할 수 있습니다.
호출 검증, 다양한 입력 조건 설정 등 정교한 테스트 시나리오 구현이 가능하여 선택했습니다.
Swagger 클라이언트–서버 간 API 명세서로 활용하기 위해 사용했습니다.

💬 Commit Convention

e.g. feat: 카카오 로그인 구현 #1

Type 내용
feat 새로운 기능 추가
fix 버그 수정
hotfix 서비스 장애 등 긴급 이슈 수정
test 테스트 코드 추가 및 수정, 삭제
refactor 코드 리팩토링
deploy 배포 관련 작업 (CI/CD, 서버 설정, 배포 스크립트 등)
setting 개발 환경 세팅

About

[KUSITMS 32nd] 학회 출석 서비스 Ku-Check 서버

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages