[척척학사] 상반기 회고: 내가 척척학사에 합류한 이야기

박상민·2025년 6월 21일
0

척척학사

목록 보기
11/15
post-thumbnail

척척학사에 합류하다

3월 중순, 평소 알고 지내던 동아리 친구에게 연락이 왔다.

"상민아, '척척학사'에 백엔드 개발자로 프로젝트 참여할 생각 있어?"

당시에는 꽤 고민이 되었다. 이미 진행 중인 프로젝트도 있었고, 새로운 일을 하나 더 맡는 것은 내 역량을 벗어나는 일이라고 생각했다.


척척학사란?
학생들이 학교 포털과 연동하여 본인의 이수 현황과 졸업 요건을 손쉽게 확인하고 관리할 수 있도록 도와주는 서비스
Github: https://github.com/pp8817/Chukchuk-haksa_Server
서비스 주소: https://www.cchaksa.com


사실 척척학사는 이전에 교내 AI/SW Developers 공모전을 통해 접한 적이 있었다.
당시 나는 ‘스스LAW’라는 AI 변호사 서비스를 출품해 우수상을 수상했고, 대상을 수상한 팀이 바로 척척학사였다.

나 역시 평소 졸업 요건 계산에 불편함을 느껴왔고, “이런 게 있었으면 좋겠다”는 생각을 자주 했기에
참여하면 즐겁게 몰입할 수 있겠다는 확신이 들었다.
척척학사 팀장님과의 커피챗, 그리고 3일간의 고민 끝에 백엔드 리드 개발자로 참여하게 되었다.


척척학사에서의 나의 역할

초기 척척학사는 빠른 MVP 개발을 위해 프론트엔드 팀장님이 Typescript로 서버 로직까지 포함해 개발한 구조였다.
그러나 수강신청 시즌에는 사용자 수가 급격히 늘며 서버 과부하가 발생했고, 보다 안정적인 서버 환경으로의 이관이 필요했다.
이 작업을 내가 맡게 되었다.

기본적으로 내가 맡은 일

  • 기존 Typescript 기반 서버 로직을 Java + Spring Boot로 마이그레이션
  • 프론트엔드에 존재하던 크롤링 관련 로직을 백엔드로 이관

자발적으로 수행한 추가 작업

  • Entity 구조 정비 및 리팩토링
    • 의존성이 몰려 있던 기존 구조를 분리하여 도메인 설계를 개선
  • 불필요한 쿼리 제거 및 성능 개선
    • N+1, 중복 쿼리 문제 해결
  • JPA 연관관계 설정
    • 기존 수동 처리 로직을 Cascade, orphanRemoval 등을 통해 자동화
  • 확장성과 유지보수성 확보
    • 단기 MVP가 아닌, 지속 가능한 서비스 구조로 전환

마이그레이션 중 겪었던 어려움

1. 언어 차이에서 오는 불편함 (TypeScript → Java)

  • 특히 null 처리가 가장 큰 이슈였다.
  • 포털 데이터를 크롤링하는 과정에서 사용자마다 데이터 유무가 달랐고,
  • TypeScript 코드에는 null 처리가 거의 없었기에 많은 디버깅과 로그 분석이 필요했다.

2. 소셜 로그인 기능 커스텀 (Supabase → Spring)

  • 기존에는 Supabase Auth의 소셜 로그인 기능을 사용했지만, Spring에서는 동일한 방식을 사용할 수 없었다.
  • Supabase의 소셜 로그인 인증/인가 흐름을 Spring에 맞게 직접 커스터마이징해야 했다.
  • 공식 문서와 오픈소스를 분석하고 Spring OAuth 구조에 맞춰 구현을 시도했고, 결국 성공적으로 서비스에 적용했다.

이 과정을 통해,

"막연히 불가능할 것 같던 외부 서비스 커스터마이징도, 자료와 구조를 이해하면 충분히 가능하다"는 자신감을 얻었다.


깨달은 점 및 배운 점

  • 기술적 완성도보다 사용자 경험 유지가 더 중요할 수 있다.
    마이그레이션 과정에서 가장 신경 쓴 것은 기존 사용자 흐름을 깨지 않는 것이었다.

  • 공식 문서와 오픈소스를 적극적으로 탐색하는 습관이 생겼다.
    Supabase Auth의 흐름을 Spring으로 포팅하면서 문제 해결 능력이 크게 향상되었다.

  • 단순한 기능 이전이 아닌, 서비스 구조를 다시 설계하는 경험이었다.
    프로젝트 전체의 구조를 바라보는 눈이 생겼고, 팀의 기술 방향성에도 영향을 줄 수 있었다.


앞으로의 방향성

  • 복수전공, 편입 등 다양한 학사 케이스 지원
  • 포털 성적 데이터를 활용한 자동 성적 분석/통계 기능
  • AI 도입을 통한 과목 분석 및 추천 기능
  • 수원대학교 시간표 서비스 SUWIKI와의 통합
    • 이 과정에서 예비수강신청의 불편함도 개선할 예정이다.
  • 운영 자동화 및 로그 기반의 모니터링 시스템 개선
  • Spring Cloud 또는 모듈 분리를 통한 아키텍처 개선

3개월이란 짧은 기간이었지만, 정말 많은 것을 배우고 성장할 수 있었던 값진 경험이었다.
앞으로도 척척학사가 더 많은 학생들에게 유용한 서비스가 되도록, 기술적으로도 사용자 경험 면에서도 계속 개선해나가고 싶다.

0개의 댓글