이 영역을 누르면 첫 페이지로 이동
천천히 꾸준히 조용히 블로그의 첫 페이지로 이동

천천히 꾸준히 조용히

페이지 맨 위로 올라가기

천천히 꾸준히 조용히

천천히 꾸준히 조용히.. i3months 블로그

[StackUp] 종합설계 Sprint 1 Backlog 및 계획 발표

  • 2026.05.10 21:47
  • 💬 기록
반응형

 

 

 

 

 

저희 팀의 종합설계 주제는 "멀티모달 AI를 활용한 챗봇 개발"이고, 

이 주제를 바탕으로 IT 직군을 위한 모의 면접 경험을 제공하는 서비스를 개발하고 있습니다.

 

 

 

 

이번 주차에는 Sprint 1에 대한 프로젝트 백로그와 Sprint 1에서 진행할 내용을 말씀드리려고 합니다.

서비스 플로우로 사용자가 StackUp 서비스를 어떤 흐름으로 사용할 지를 도식화했고, 소프트웨어 아키텍처로 어떻게 구현할지에 대한 청사진을 완성했습니다. 

 

 

 

Sprint 1에서의 개발 범위는 크게 세 가지로 정했습니다.

 

첫 번째로 개발환경 세팅 및 인프라 구축입니다. 기능 개발에 앞서 모든 팀원이 같은 환경 위에서 작업할 수 있는 토대를 다집니다.

두 번째는 로그인입니다. IT 직군을 위한 서비스니 Github를 사용한 로그인을 구현할 예정이고, 모든 서비스 진입의 시작점이 됩니다.

세 번째는 리포지토리 분석 및 pgvector 임베딩입니다. 면접 세션에서 활용할 RAG 기술의 원천이 되는 부분으로, 서비스에서 제일 중요한 부분입니다.

 

음성 기반 면접 시뮬레이션은 Sprint 2에서 진행됩니다.

분석 단계까지 안정적으로 마무리한 후 그 위에 면접 시뮬레이션 기능을 쌓는 편이 합리적이라고 생각했습니다. 

 

본격적으로 작업 목록을 말씀드리기 전 팀 차원에서의 공통 DoD 세 가지를 먼저 공유드립니다.

 

1. 해당 기능에 대한 PR이 머지되어 있을 것 

2. 코드리뷰 1인 이상 승인

3. 작업한 내용 문서화 입니다. 

 

이후 보여드릴 모든 작업 항목은 이 세 가지 기준을 공통적으로 따릅니다.

 

 

개발환경 세팅입니다. 

프론트엔드는 리액트를 사용합니다. 모바일 환경은 반응형 디자인으로 커버할 예정이고, FSD 아키텍처를 기본 구조로 채택했습니다.

코어 백엔드는 스프링 부트를, AI 백엔드는 FastAPI를 사용합니다. 

 

프론트엔드는 신재호 팀원이, 코어 백엔드는 박상우 팀원이, 인공지능 관련은 제가 담당합니다.

그리고 마지막으로 스프린트 2에서 진행될 실시간 서버와 인프라 관련 내용은 조서현 팀원이 담당합니다. 

 

 

 

버전 관리는 Git을 사용합니다. 모노레포 기반으로 Git 저장소를 구축해 여러 서버와 프론트엔드 소스코드를 하나의 저장소에서 관리합니다.

엔진엑스로 API Gateway를 구축하고 별도의 VectorDB 대신 PostgreSQL의 pgvector를 사용합니다.

RabbitMQ는 백엔드간 요청을 중개하는 역할을 수행합니다. 

S3 스토리지에 이력서 PDF 및 사용자 업로드 파일을 저장하고, 로컬 LLM 환경도 구축 준비중입니다.

 

 

 

개발환경 세팅 관련 진행상황입니다. 

 

 

 

사용자가 로그인 버튼을 클릭하면 Github의 authorize URL으로 리다이렉트되고, 사용자는 콜백 URL을 전달받습니다.

콜백 URL은 코어 백엔드에 전달되고 이걸 바탕으로 JWT 인증에 사용되는 토큰을 발급받습니다.

 

 

 

Github 로그인 작업은 프론트엔드와 코어 백엔드 두 파트로 나뉩니다. 

프론트엔드는 전반적인 UI 구현 및 인터셉터 처리를 담당하고, 코어 백엔드는 토큰 및 사용자 관리 로직을 담당합니다. 

 

 

 

사용자가 분석할 레포지토리나 이력서를 선택하면 코어 백엔드는 RabbitMQ 메세지 큐에 작업을 요청합니다.

이후 jobId를 프론트엔드에게 전달해 SSE 구독을 시작합니다.

 

AI 백엔드는 레포지토리 및 이력서를 조회해 텍스트로 파싱합니다.

이후 LLM을 활용해 아키텍처, 기술스택 등을 정리한 md 문서를 만들고 chunking과 embedding을 거쳐 pgvector에 저장합니다.

 

저장이 완료되면 publish하고 이 응답은 코어 서버에게 전달됩니다.

이 모든 작업은 SSE를 통해 프론트엔드에게 진행률과 완료 알림이 푸시되고, 사용자는 실시간으로 분석 현황을 확인할 수 있습니다. 

 

 

 

프론트엔드는 전반적인 UI 구현을 담당하고 백엔드 코어는 메세지 큐 Producer와 Consumer 구현 및 SSE 관련 로직을 담당합니다.

 

 

 

AI 백엔드는 이력서 및 리포지토리 파싱과 LLM 기반 md 요약 생성, pgvector 저장 로직을 담당합니다.

두 가지 백엔드 서버와 프론트엔드가 잘 동작하기 위해 RabbitMQ Routing 설정과 pgvector 확장 설정이 함께 진행됩니다. 

 

 

 

 

마지막으로 전체 소프트웨어 아키텍처입니다. 

 

사용자는 브라우저를 통해 StackUp 서비스에 진입합니다.

모든 API 요청은 NGINX 게이트웨이를 거쳐 코어 서버로 전달됩니다.

 

비동기로 처리해야 하는 AI 작업은 RabbitMQ를 거쳐 AI 서버로 연결됩니다. 

상단의 실시간 서버는 Sprint 2 이후 음성 면접 세션에서 사용될 예정으로, Go 언어로 작성됩니다.

 

우선 Sprint 1의 범위는 실시간 서버를 제외한 모든 컴포넌트입니다. 

 

 

반응형
저작자표시 (새창열림)

'💬 기록' 카테고리의 다른 글

[Data Science] BirdCLEF+ 2026 챌린지 결과 발표  (0) 2026.06.10
[StackUp] 종합설계 Sprint 2·3 Backlog 및 계획 발표  (0) 2026.06.01
[StackUp] 종합설계 프로젝트 브레인스토밍 발표  (3) 2026.03.31
[Fault Injection] 라즈베리파이 Bit-Flip을 HPC로 잡아내기 - 1  (0) 2026.02.03
Edge Device와 Fault Injection - 세미나 발표  (0) 2026.01.15

댓글

이 글 공유하기

  • 구독하기

    구독하기

  • 카카오톡

    카카오톡

  • 라인

    라인

  • 트위터

    트위터

  • Facebook

    Facebook

  • 카카오스토리

    카카오스토리

  • 밴드

    밴드

  • 네이버 블로그

    네이버 블로그

  • Pocket

    Pocket

  • Evernote

    Evernote

다른 글

  • [Data Science] BirdCLEF+ 2026 챌린지 결과 발표

    [Data Science] BirdCLEF+ 2026 챌린지 결과 발표

    2026.06.10
  • [StackUp] 종합설계 Sprint 2·3 Backlog 및 계획 발표

    [StackUp] 종합설계 Sprint 2·3 Backlog 및 계획 발표

    2026.06.01
  • [StackUp] 종합설계 프로젝트 브레인스토밍 발표

    [StackUp] 종합설계 프로젝트 브레인스토밍 발표

    2026.03.31
  • [Fault Injection] 라즈베리파이 Bit-Flip을 HPC로 잡아내기 - 1

    [Fault Injection] 라즈베리파이 Bit-Flip을 HPC로 잡아내기 - 1

    2026.02.03
다른 글 더 둘러보기

정보

천천히 꾸준히 조용히 블로그의 첫 페이지로 이동

천천히 꾸준히 조용히

  • 천천히 꾸준히 조용히의 첫 페이지로 이동

검색

방문자

  • 전체 방문자
  • 오늘
  • 어제

카테고리

  • 분류 전체보기 (707)
    • Algorithm (205)
      • Data Structure (5)
      • Theory && Tip (33)
      • Baekjoon (166)
      • ALGOSPOT (1)
    • Spring (123)
      • Spring (28)
      • Spring Web MVC (20)
      • Spring Database (14)
      • Spring Boot (6)
      • Spring 3.1 (11)
      • Spring Batch (6)
      • Spring Security (16)
      • JPA (12)
      • Spring Data JPA (5)
      • QueryDSL (4)
      • eGovFramework (1)
    • Programming Language (74)
      • C (25)
      • C++ (12)
      • Java (19)
      • JavaScript (15)
      • Python (1)
      • PHP (2)
    • Computer Science (163)
      • Machine Learning (38)
      • Operating System (18)
      • Computer Network (28)
      • System Programming (22)
      • Universial Programming Lang.. (8)
      • Data Science (11)
      • Embedded Software (10)
      • Computer Architecture (4)
      • Compiler Design (11)
      • Computer Security (13)
    • Database (21)
      • Database (7)
      • MySQL (3)
      • Oracle (3)
      • Redis (5)
      • Elasticsearch (3)
    • DevOps (20)
      • Docker && Kubernetes (8)
      • Jenkins (4)
      • Amazon Web Service (8)
    • Mobile (28)
      • Android (21)
      • Flutter (7)
    • 💡 솔루션 (17)
    • 👥 모각코 (12)
    • 💬 기록 (12)
    • 📚 논문 (7)
    • -------------- (25)

최근 글

나의 외부 링크

메뉴

  • 홈
반응형

정보

i3months의 천천히 꾸준히 조용히

천천히 꾸준히 조용히

i3months

블로그 구독하기

  • 구독하기
  • RSS 피드

티스토리

  • 티스토리 홈
  • 이 블로그 관리하기
  • 글쓰기
Powered by Tistory / AXZ. Copyright © i3months.

티스토리툴바