Search

개발자 기술면접 도우미 웹서비스, QCARD

사용 스택
Spring
FastAPI
Docker
AWS
Prometheus/Grafana
Kafka
개발 기간
2023/08/12 → 2023/10/17
역할
기획
백엔드 개발
📙 관련 포스트

Github Link

QCard-server
Q-CARD

담당 역할

역할-서버(SpringBoot)
1.
기술 질문에 대한 CRUD API를 구현하였습니다.
2.
기술 질문의 답변에 대한 CRUD API를 구현하였습니다.
3.
refresh 토큰 기능을 구현하였습니다.
4.
QueryDSL을 활용하여 기술 질문&답변의 페이지네이션 기능을 구현하였습니다.
5.
스프링의 MVC 구조를 고려하여, 멀티 모듈로 서버를 설계하였습니다. domain 모듈에 jpa 및 데이터베이스 연동에 관련한 model을, admin 모듈에 사용자 인증과 관련한 코드를, api 모듈에 controller 역할의 코드를 작성하였습니다. 모듈의 역할을 분명히 구분하여 MVC 패턴을 최대한 활용하고자 하였습니다.
역할-서버(FastAPI)
1.
OPEN AI의 GPT-3.5-turbo를 활용하여 모의 면접 모드에서 사용자의 기술 질문 답변을 첨삭하고 추가 질문을 반환하는 기능을 개발하였습니다.
2.
OPEN AI의 Whisper를 활용하여 기술 질문 답변을 mp3에서 text로 변환하는 기능을 개발하였습니다.
역할-DevOps
1.
Github Action, Docker, S3, Code Deploy를 활용하여 배포 자동화 파이프라인을 구축하였습니다.
2.
AWS ALB를 활용하여 요청 경로를 기반으로 트래픽을 두 개의 다른 서버로 분산하였습니다.
3.
Kafka를 활용하여 두 서버를 메세지 브로커로 연결하였습니다.

 이렇게 협업했어요

Pull Request
구현 기능 방식을 기술하거나, 간단한 기능의 경우 작동하는 증명 화면을 첨부했습니다.
Issue
구현 단계별로 이슈를 작성해서 프로젝트 개발 프로세스를 관리했습니다.
Code Review
코드 리뷰를 통해 로직을 개선하거나 코드를 재사용할 수 있도록 변경했습니다.

시스템 구성도 v1

관련 기술블로그