Roki.Kim(김경록) | Austin.Choi(최윤서) | Cellina.Jeong(정은채) | Jay.Hwang(황지원) | Sofia.Park(박수현) | Jimmy.Kim(김승엽) |
Full-Stack | Full-Stack | AI | AI | Cloud | Cloud |
본문 확인 (👈 Click)
앵무말은 '콜포비아' 극복을 위한 AI 기반 통화 보조 서비스로, 전화 통화에 어려움을 겪는 사람들을 위해 설계된 혁신적인 서비스입니다.
이 서비스는 음성 통화를 텍스트로, 텍스트를 AI 음성 기술로 변환하여 사용자와 상대방 간의 의사소통을 더욱 편리하고 효과적으로 만들어 줍니다.
특히, 통화에 불안감을 느끼거나, 목소리에 자신감이 없거나, 말실수를 걱정하는 사용자에게 적합한 솔루션입니다.
본문 확인 (👈 Click)
주요 기능 내용입니다.
본문 확인 (👈 Click)
아키텍처 설명
- Terraform: AWS 인프라 구성 (VPC, EKS, RDS)
- Ansible: Kubernetes 클러스터, ArgoCD 설치
- Kubespray: K8s 클러스터 자동 설치
- 매니페스트 관리: K8s 리소스 정의 매니페스트 관리
- 자동 배포: ArgoCD를 통한 자동 배포
- 설정 관리: 마이크로서비스 및 인프라 설정 포함
- CD Repository로 인프라 구성 및 ArgoCD 설치
- ArgoCD가 Manifests Repository와 연동되어 전체 시스템 자동 구성
- 이후 모든 변경사항은 Git을 통해 자동 배포
본문 확인 (👈 Click)
- 역할: 사용자 정보를 저장합니다.
- 주요 필드:
user_id
: 사용자 고유 식별자 (Primary Key)nickname
: 사용자의 닉네임email
: 사용자 이메일provider
: 소셜 로그인 방식 (e.g., KAKAO, GOOGLE)profile_image
: 사용자 프로필 이미지created_at
,updated_at
: 데이터 생성 및 수정 시간
- 역할: 대화 관련 정보를 저장합니다.
- 주요 필드:
talk_id
: 대화 고유 식별자 (Primary Key)status
: 대화 상태 (ACTIVE
,INACTIVE
,CLOSED
)created_at
: 대화 생성 시간closed_at
: 대화 종료 시간room_name
: 대화방 이름sender_id
: 발신자 IDreceiver_id
: 수신자 ID
- 역할: 대화 방에서 생성된 투두(To-Do) 항목을 저장합니다.
- 주요 필드:
todo_id
: 투두 고유 식별자 (Primary Key)title
: 투두 제목
- 역할: 마이페이지에서 유저별 투두(To-Do)를 관리하며, 사용자, 대화, 투두 간의 관계를 연결합니다.
- 주요 필드:
user_id
: 사용자 ID (Foreign Key)todo_id
: 투두 ID (Foreign Key)talk_id
: 대화 ID (Foreign Key)todo_status
: 투두의 상태를 나타내는 필드
- 관계:
- Users, Todos, Talks 테이블과 모두 연관. RoomUser_Detail은 다대다 관계를 구현하는 연결 테이블 역할을 합니다.
- Users ↔ RoomUser_Detail: 사용자와 마이페이지 상세 정보는 1:N 관계입니다.
- Talks ↔ RoomUser_Detail: 대화와 마이페이지 상세 정보는 1:N 관계입니다.
- Todos ↔ RoomUser_Detail: 투두와 마이페이지 상세 정보는 1:N 관계입니다.
RoomUser_Detail 테이블의 데이터 증가 문제
RoomUser_Detail 테이블은 대화가 시작될 때 유저 수(2명)와 투두의 갯수만큼 데이터가 생성됩니다.
예를 들어, 대화 하나에 두 명의 유저와 10개의 투두 항목이 있다면, 이 대화로 인해 RoomUser_Detail 테이블에는 2 x 10 = 20개의 데이터가 추가됩니다.
여러 대화와 투두가 반복적으로 추가되면 데이터가 기하급수적으로 증가하여 성능 및 저장 공간에 문제가 발생할 수 있습니다.
최적화 전략 구상
- 인덱싱 추가 → 빠른 쿼리 개선.
- 캐싱 도입 → 자주 조회되는 데이터를 캐시에 저장.
- 데이터 수명 관리 → 오래된 데이터를 주기적으로 삭제.
- 비즈니스 로직 개선 → 중복 데이터 최소화.
본문 확인 (👈 Click)
기술 사용 근거 내용입니다.
본문 확인 (👈 Click)
성능 개선 & 리팩토링 내용입니다.
본문 확인 (👈 Click)
테스트 & 모니터링 내용입니다.