김건형Portfolio
← 전체 프로젝트

팀 프로젝트

FastLearnIT · IT 강의 통합 검색

여러 플랫폼의 IT 강의를 한곳에서 검색하는 서비스

기간
2024년
소속
KHUDA 팀 프로젝트
담당
팀장 · DB·수집·API·웹 구현

개요

Spark 데이터 처리 과제에서 출발해 마감 2주 전 팀 합의로 웹 서비스까지 목표를 넓힘. 강의 수집·DB·검색 API·화면을 연결하고 발표 당일 아침 배포를 완료

담당 업무

DB 설계, Airflow 수집, Spark 데이터 처리, FastAPI 검색 API와 Flutter 웹 화면을 구현. Docker 공통 환경을 마련해 팀원의 Spark 실습도 지원

목표 확장
분석 결과가 실제로 조회·검색되는 서비스까지 팀원들과 합의해 완성
직접 구현
DB와 수집 파이프라인, FastAPI 백엔드, Flutter 웹을 구현
학습 지원
개발 경험이 적은 신입 부원에게 Docker 공통 환경을 제공하고 Spark 학습 지원
12팀 참가 KHUDA 컨퍼런스
대상
현대모비스
특별상
구현·실습 환경·협업
팀장

구조

  1. 01플랫폼별 강의 수집인프런 · 패스트캠퍼스 · 코드잇
  2. 02원본 보관Airflow · S3
  3. 03정제·태그 구성Spark 처리
  4. 04검색·상세 정보OpenSearch · PostgreSQL
  5. 05통합 검색 화면FastAPI · Flutter 웹

문제 및 해결

마감 2주 전 웹 서비스로 목표 확장

문제
Spark 처리 과제에서 실제 서비스까지 확장하면서 DB·API·화면을 짧은 기간에 연결해야 함
해결
팀 합의 후 핵심 개발을 맡고 팀원들의 피드백·시연·발표 준비와 병행
결과
발표 당일 아침 배포 완료 · KHUDA 대상·현대모비스 특별상

팀원의 개발 경험과 구현 참여 차이

문제
개발에 익숙한 인원이 제한돼 있었고 신입 부원들이 도구를 익히는 데 어려움이 있었음
해결
Docker 기반 공통 환경을 구성하고 Spark 이론과 코드를 함께 확인
결과
학습과 참여를 지원했지만 핵심 구현을 주로 맡게 돼 팀원의 개발 기회를 충분히 넓히지 못함

구현 내용

수집 흐름
DAG는 EC2 실행·접속 정보 확인, 세 플랫폼 병렬 수집, 파일 확인, S3 업로드와 상태 안내를 연결
저장소 역할
PostgreSQL은 정형 강의 상세를, OpenSearch는 검색을 담당. 검색 결과의 URL로 강의 ID·상세를 결합
조회 API
플랫폼·카테고리·하위 분류·신규 강의·페이지별 목록·검색 API를 FastAPI로 제공
처리·자동화
Airflow DAG로 플랫폼별 수집과 S3 업로드를 연결. Spark 처리는 별도 단계로 구성