JBIG - 학회 웹서비스 운영·고도화

전북대학교 AI·빅데이터 학회 JBIG 회장으로 활동하며, 학회원들이 축적해 온 학습 자료와 기술 블로그 자산을 안정적으로 운영하고 개선하기 위해 JBIG 웹서비스의 풀스택 유지보수와 기능 고도화에 참여했습니다.
AI·빅데이터 학회 회장으로서의 리더십
회장으로서 운영진과 함께 한 학기 단위의 ML/DL 커리큘럼을 기획하고 매주 1회 정기 세미나를 운영했습니다. 자체 제작 교안을 활용한 이론 학습, 데이콘 문제 풀이, 코드 리뷰를 병행했으며, 현직 졸업생을 초청한 홈커밍데이도 기획·운영했습니다. 이렇게 구성원 모두가 함께 성장할 수 있는 학습 커뮤니티를 운영하는 경험을 쌓았습니다.
JBIG 웹서비스 운영·고도화
JBIG 홈페이지는 React/TypeScript 기반 프론트엔드와 Django REST API 백엔드, PostgreSQL 데이터베이스로 구성된 학회 전용 웹서비스입니다. 풀스택 유지보수를 담당하며 에러·피드백 게시판을 통해 접수된 실제 사용자 요구와 서비스 이슈를 지속적으로 개선했습니다.
데이터 구조 마이그레이션
기존 Supabase(PostgreSQL) 운영 DB를 유지하면서 게시글 데이터 구조를 개편했습니다. 기존 content_html → content_md의 Markdown 형식으로 전환하고, 별도 Attachment 모델의 파일 경로와 이름을 attachment_paths JSON 구조로 통합했습니다. 이를 위해 데이터 변환 스크립트를 작성하고 마이그레이션 후 기존 사용자 데이터와 신규 게시글 저장 여부를 직접 검증했습니다.
NCP Object Storage 기반 파일 업로드
첨부파일 업로드는 NCP Object Storage 기반 Presigned URL 방식으로 구현했습니다. 사용자가 파일을 선택하면 프론트엔드가 백엔드에 업로드 권한을 요청하고, 백엔드는 고유 file_key와 임시 업로드 URL을 발급합니다. 이후 프론트엔드가 NCP에 파일을 직접 업로드하고, 게시글 저장 시에는 영구 경로인 file_key만 attachment_paths에 저장하도록 구성했습니다. 이를 통해 파일 전송과 애플리케이션 서버의 역할을 분리했습니다.
사용자 피드백 기반 서비스 개선
에러·피드백 게시판을 통해 실제 학회원의 제보를 수집하고 사용자 피드백을 바탕으로 서비스를 지속적으로 개선했습니다. 마크다운 표 렌더링, 외부 링크 UX, 게시글 부분일치 검색, 사유서 제출 전용 폼 등 사용 과정에서 발생한 문제를 기능 단위로 해결했습니다. 또한 Gunicorn·Nginx 기반 배포 설정과 환경 변수 관리 방식을 문서화해 후임 운영진이 서비스를 이어서 관리할 수 있도록 운영 기준을 정리했습니다.
배운 점
실제 사용자가 있는 서비스를 운영하며 기능 구현뿐 아니라 데이터 구조, 파일 저장, 배포 환경까지 함께 고려하는 경험을 쌓았습니다. 특히 사용자 피드백을 문제로 정의하고, 원인을 찾아 개선한 뒤 운영 문서까지 남기는 과정을 통해 서비스를 지속 가능하게 운영하는 개발의 중요성을 배웠습니다.