Celevu
셀럽 이미지 라이선싱 기반 광고 제작·섭외 플랫폼
HTTP·인증 기반 · 주요 화면 · 서버·관리자 연결
- 개발 참여 기간
- 6개월
- 2025.10–2026.04
- 개발 범위
- 3개 시스템
- 프론트엔드 · 서버 · 관리자
- 서비스 리뉴얼
- V2
- 셀럽 탐색 → 캠페인 → 협업 제안
개인 개발 범위와 실무 참여 기간
사용자가 겪는 문제를 출발점으로
구현·검증·협업까지 이어가는 웹 개발자
알리고에이아이 개발팀 · 웹 개발자 · 2025.10–2026.04
가톨릭대학교
물리학 전공 · 컴퓨터정보공학 복수전공
화면 구현 → 도메인 담당
프론트·서버·운영까지 역할 확장
담당 역할과 핵심 기여 · 상세 페이지로 연결
셀럽 이미지 라이선싱 기반 광고 제작·섭외 플랫폼
HTTP·인증 기반 · 주요 화면 · 서버·관리자 연결
개인 개발 범위와 실무 참여 기간
사용자 조건에 맞는 청년 정책
추천·비교 서비스
정책 비교·추천 API 구현 · 매칭 규칙 설계 · FSD 구조 정리
카페에서 교내 축제까지 확장한
모바일 주문·결제 서비스
주문·쿠폰·결제 흐름 · 축제 주문 환경으로 확장
기술 글과 지식을 공유하는
개발자 블로그 서비스
게시글·댓글·북마크 구현 · 유스케이스 권한 검증
교육 과정의 소통과 학습을 연결하는
실시간 교육 플랫폼
개발 환경·CI · 인증·테마 · 화면 이동 오류 해결
UMC 학교 대표·파트장 경험 · 2022–2024
가이드 → 과제 공유 → 리뷰 → 질문
교육·경력·커뮤니티의 경험을 웹 개발 역량으로 연결
국가기술자격 취득
SQL 개발자 · 데이터분석 준전문가 취득
AWS와 AI를 활용한 MSA 기반 웹 서비스 개발
개발팀 웹 개발자 · Celevu V2 리뉴얼
AI 시대의 자바 백엔드 개발자 양성 과정
프론트엔드 부트캠프 플러스 4기
실무에 바로 쓰는 Next.js
HTML5 콘텐츠 window.postMessage API 개발 검수
가톨릭대학교 3기 교내 운영진
고객용·점주용 웹 개발 · 주문·결제 화면 구현
은상
홈페이지 MVP 제작
Android·Node.js 파트장 · 6기 학교 대표
주니어 · 시니어 · 시니어 심화
전체 이력 14개
셀럽 이미지 라이선싱 기반
광고 제작·섭외 플랫폼
화면부터 서버·관리자까지 연결하고,
반복되는 통신·인증 처리를 공통 계층으로 정리
개인 개발 범위와 실무 참여 기간
유지보수할 때 확인할 코드의 경계를 명확하게 정리
사용자에게 표시할 상태 구성
도메인별 기능의 책임 구분
화면 모델 변환 · HTTP 기반 재사용
공통 HTTP 계층 · 자동 갱신 · 요청 재시도
인증 규칙을 화면 밖에서 일관되게 적용
화면 증상을 요청 형식까지 추적한 사례
if (body instanceof FormData) {
headers.delete("Content-Type");
}
// 브라우저가 boundary를 포함한
// multipart 헤더를 자동 생성실제 변경 내용을 설명하기 위한 축약 코드
하나의 기능을 사용자 선택 → 계산 → 표시까지 완성
프론트엔드와 서버 사이의 계약을 직접 연결
추천 이력 저장·조회 API와 화면 경험 연결
담당 범위: 추천 이력 API · 결과 화면 · 조건 재사용
프론트엔드 · 서버 · Django 관리자
운영자가 탭으로 번역 데이터 관리
표시할 언어와 데이터 선택
화면 번역과 도메인 데이터 연결
사용자 조건에 맞는 청년 정책
추천·비교 서비스
자격 여부와 추천 근거를 화면에 연결하고,
선택한 정책을 비교할 수 있는 흐름 구현
직접 구현한 정책 추천·비교 규칙
조건에 맞는 정책 선별 → 상대적인 추천 순서 결정
필수 조건을 충족하는 후보 선별
적합도를 계산해 추천 순서 결정
선택 이유를 사용자에게 설명
현재 화면의 데이터 범위와 사용자의 선택 범위를 구분
선택 ID → 최신 100개 목록 검색
목록 밖이면 상세 정보 누락
선택 ID → 상세 API 조회
현재 목록과 관계없이 비교 구성
AI 생성 초안의 활용과 팀 개발 기준 정리
페이지 조합
독립된 화면 영역
사용자 행동
도메인 모델
공통 기반
도구의 초안·제안에 프로젝트 기준을 적용하며 리뷰
카페에서 교내 축제까지 확장한
모바일 주문·결제 서비스
카페 주문 서비스를 축제 환경으로 확장해
학생의 주문과 주점 운영을 지원
축제 수치는 팀 서비스 운영 성과 · 개인 경험 기록 기준
사용자에게 보이는 금액과 결제 요청 금액의 일치
const amount = price - salePrice;
// 위젯 초기 금액에도 동일 계산 적용
useEffect(() => {
paymentMethods.updateAmount(amount);
}, [price, salePrice]);실제 변경 내용을 설명하기 위한 축약 코드
사용 환경 변화에 맞춘 기능 개발과 팀 서비스 운영
축제 이틀 동안 서비스를 거친 결제액
팀 서비스 운영 수치 · 개인 경험 기록 기준
기술 글과 지식을 공유하는
개발자 블로그 서비스
게시글 삭제 시 현재 사용자와 작성자를 대조해
유스케이스에서 데이터 소유권을 검증
개인 담당 기능과 구현 방식
사용자 인터페이스의 표시 조건과 서버의 권한 규칙 분리
권한 규칙의 위치를 실행 경로보다 안쪽에 배치
MoCha → Prolog · 로그인 확인에서 데이터 소유권 검증까지
const { user } = verifyAccessToken(token);
await usecase.execute(transactionId);if (post.userId !== currentUserId) {
throw new Error('권한이 없습니다.');
}
await repository.deletePost(postId);로그인 여부와 데이터 소유권을 구분하고, 핵심 권한 규칙은 유스케이스에서 검증
각 프로젝트의 실제 구현을 비교 · 코드는 핵심 처리만 축약
교육 과정의 소통과 학습을 연결하는
실시간 교육 플랫폼
팀의 공통 개발 기반을 마련하고,
발표 전 게시판 화면 이동 오류를 해결
개인 담당 공통 기반과 구현 결과
자신의 담당 영역을 넘어 서비스 흐름 확인