아마추어스 (AMATEURS)
2025년 08월 09일
98
아마추어스 (AMATEURS)

개발 인원 및 기간
- 팀원: 6명 (백엔드 6명)
- 기간: 2025.07 ~ 2025.08 (약 6주)
- 역할: 백엔드 개발, API 설계 및 구현, DB 모델링
프로젝트 소개
아마추어스는 AI 부트캠프 수강생들을 위한 커뮤니티 플랫폼입니다.
다양한 커뮤니케이션 기능과 AI 기반 자동화 기능을 통해 백엔드 지향 개발자들의 정보 공유, 인증, 소통을 도와주는 서비스를 만들었습니다.
담당 역할 – 권규태 (팀장, 백엔드)
- 커뮤니티 기능 백엔드 개발
- 자유 게시판, Q&A, 프로젝트 허브 등 주요 게시판의 CRUD API 개발
- 게시글 작성/수정/삭제 및 목록 조회 기능 구현
- 게시글 정렬(최신순/인기순) 및 필터링 기능 설계
- 신고 기능 및 관리 시스템 구축
- 게시글 신고 접수 및 블라인드 처리 로직 개발
- AI 기반 자동 판단(Confidence Score)에 따라 처리 여부 결정
- LinkedBlockingQueue 기반 이벤트 큐 설계 및 비동기 처리 도입
- AI 개인화 추천 기능 일부 구현
- 사용자 게시글 임베딩 저장 및 유사도 비교 로직 일부 구현
- 추천 결과 필터링 및 중복 제거 로직 참여
- PM(팀장) 역할 수행
- 개발 일정 및 이슈 관리, GitHub 프로젝트 보드 운영
- 데일리 스크럼, 주간 회고 주도 및 팀 커뮤니케이션 중심 역할
- 발표자료 구성 및 데모 시나리오 작성 참여
주요 기능 및 기술
AI 수강생 인증 시스템
- CLIP + OCR 기반 얼굴 유사도 및 텍스트 분석
- 인증 이미지 임베딩 → 표준 이미지와 유사도 비교 후 OCR 텍스트 추출
- 임계값 통과 시 자동 인증
- 인증 API 연동 (
/verify/request)
AI 기반 개인화 추천
- 사용자 게시글 스타일 분석 → 관심 키워드 추출
- OpenAI 임베딩 API 활용 (text-embedding-3-small)
- 사용자의 선호 주제와 유사한 게시글 추천 제공
인기 게시글 랭킹 시스템
- 조회수, 좋아요, 댓글 수 기반 인기 게시글 산정
- 가중치 및 통계 기반 정렬
- jOOQ 사용 → 빠른 조회 성능 (400ms → 20ms)
실시간 기능
- WebSocket + STOMP: DM 실시간 송수신
- SSE: 알림 기능 구현 (하트비트, 시간 기반)
인증/보안
- 쿠키 기반 JWT 인증 (Access + Refresh 토큰)
- Redis에 Refresh Token 저장
인프라 / 운영
- 무중단 배포: GitHub Actions + Blue-Green 전략
- Observability: LGTM 스택(Grafana, Loki 등) 구축
- 자동화: n8n을 통한 배포/리마인더/Slack 알림 설정
- 테스트: Rest Assured 사용, 테스트 커버리지 60% 이상
기술 스택
- Backend: Java 17, Spring Boot, jOOQ, MongoDB, Redis
- DevOps: Docker, GitHub Actions, n8n, Grafana, Loki
- AI 활용: LangChain4j, Gemini, OpenAI API (text/image)
- 통신/비동기: WebSocket, SSE, Event Queue
회고 및 성과
- 커뮤니티 기능에 AI를 실질적으로 도입하여 자동 인증/추천/신고 처리 등 운영 자동화를 경험
- 무중단 배포와 실시간 로깅, 알림 시스템을 통해 운영 신뢰성 확보
- 코드 커버리지, MSA 설계, 멀티 모듈 구조 도입을 통해 서비스 확장성 고려
서비스 링크
ID: test@test1.com
PW: 12345678a
댓글을 불러오는 중...