개발
2025-06-30 ~ 2025-07-13
1분 읽기

DBase

🏆 서울디지텍고등학교 2025 소프트웨어 해커톤 [은상]

디지텍고 학생과 선생님들을 위한 AI 기반 채용 연계 플랫폼

프로젝트 바로보기 >

1. 프로젝트 개요

‘DBase’는 디지텍고 학생과 선생님들을 위한 AI 기반 채용 연계 플랫폼으로, 학생의 이력과 역량을 체계적으로 정리하고 AI 기반의 취업 로드맵을 제공합니다. 채용 공고 자동 분석, 지도 기반 취업현황 시각화, 이력 관리 기능 등을 통해 진로 탐색과 취업 지원을 통합적으로 지원합니다.
메인페이지

2. 기술 스택

Frontend: React, KakaoMap API
Backend: NestJS
AI Server: Flask, HuggingFace, Gemini API, ChatGPT API, Serper API
Database: PostgreSQL
Deploy: AWS EC2

3. 주요 개발 사항

  • Figma를 이용한 UI디자인 및 프로토타입 제작
  • NestJS 취업현황 페이지 API 구현
  • React에서의 KakaoMap 연동 및 마커 기능 개발
  • 취업현황 페이지의 회사 마커 클릭 시 주변 편의시설 안내 기능 구현
  • Flask와 Gemini API를 사용한 AI 로드맵 생성 API 개발

4. 시스템 구조

이 시스템은 React 프론트엔드, NestJS 백엔드, Flask AI 서버, 그리고 PostgreSQL 데이터베이스가 연동되어 응답을 반환하는 구조로 구성되어 있습니다. DBase 아키텍처

  • Client → React: 사용자는 React 기반 웹 페이지에서 기업 분석 요청 또는 로드맵 생성 요청을 전달합니다.
  • React ↔ NestJS Backend: React 웹은 사용자의 요청을 NestJS 백엔드 서버로 전송하고, 처리된 응답(기업·재직자 정보, 로드맵 등)을 받아 화면에 렌더링합니다.
  • NestJS Backend ↔ PostgreSQL Database: 백엔드는 기업, 채용 공고, 재직자 정보 등 데이터를 PostgreSQL 데이터베이스에서 조회하거나 저장합니다.
  • NestJS Backend ↔ Flask AI Server: 특정 요청(기업 분석, PDF 처리, AI 로드맵 생성 등)은 Flask 기반 AI 서버로 전달됩니다.
  • Flask AI Server ↔ 외부 AI API: Flask 서버는 HuggingFace, Gemini API, ChatGPT API, Serper API를 호출하여 PDF 분석, 기업 분석 리포트, 로드맵 생성 등의 작업을 수행합니다.
  • Flask AI Server → NestJS Backend → React Client: Flask 서버가 생성한 AI 분석 결과는 NestJS 백엔드를 거쳐 React 웹에 전달되고, 사용자는 이를 UI에서 확인할 수 있습니다.

5. 개발 관련 설명

5-1. 취업 현황 조회 기능

학생들의 취업 현황을 지도 기반으로 시각화하는 기능입니다.

  • 프론트엔드 (React, Kakao Map API)
    • 재직 회사 주소를 지도에 마커로 표시하고, 클릭 시 회사·재직자 정보 조회
    • 주변 지하철역·편의점·음식점 개수를 300m 반경 내 검색해 아이콘과 함께 표시 취업 현황
  • 백엔드 (NestJS)
    • GET /job/company/employed: 재직자 있는 회사 목록 제공
    • GET /job/company?id={id}: 특정 회사 및 재직자 정보 반환

5-2. AI 채용 공고 자동 분석 기능

Flask 기반으로 채용 의뢰서 PDF 문서 처리 자동화 및 AI 기업 분석을 제공합니다.

  • API 요청
    • 클라이언트가 분석할 PDF 파일명을 JSON 형식으로 전송
    • 엔드포인트: POST /api/process-pdf
  • PDF 텍스트 추출 (PyMuPDF)
    • 지정 경로의 PDF 파일을 열고 전체 텍스트 추출
    • 비정형 데이터를 후속 파싱 단계에서 활용 가능하도록 전처리
  • 정규식 기반 정보 파싱
    • 추출된 텍스트에서 회사명, 모집 직무, 자격 요건, 급여 등 20개 이상의 항목을 정규 표현식으로 구조화 채용의뢰서 자동 분석
  • 외부 정보 검색 (Google Serper API)
    • 회사명을 키워드로 실시간 검색
    • 최신 뉴스, 공식 홈페이지, 관련 자료 수집
  • AI 기업 분석 (Hugging Face LLM)
    • Llama-3.1-Korean-8B 모델, ChatGPT API 사용
    • 채용 문서 정보 + 웹 검색 결과를 종합하여 주력 사업, 기술 스택, 성장 가능성 분석 AI 기업 분석
  • 데이터베이스 저장 (PostgreSQL + SQLAlchemy)
    • 기업 정보, 채용 공고, AI 분석 리포트를 구조화하여 DB 저장
    • UPSERT 로직으로 중복 방지, Company / JobPosting 모델로 체계적 관리

5-3. AI 로드맵 생성 기능

학생이 희망 직무와 학습 기간을 입력하면, AI를 활용해 맞춤형 학습 로드맵을 자동 생성·제공합니다.

  • Flask + Gemini API
    • Google Gemini(gemini-2.0-flash) API를 호출해 주차/개월 단위 학습 계획과 프로젝트 단계를 Markdown 형식으로 생성
    • 결과를 .md 파일로 저장하고 API 응답으로 반환
  • NestJS 백엔드 연동
    • GET /roadmap API로 저장된 로드맵을 조회하여 클라이언트에 전달
    • Flask는 AI 로드맵 생성, NestJS는 조회 및 서비스 제공 역할 수행 AI 로드맵

6. 링크

6-1. GitHub

6-2. 배포

  • DBase
    @sdh.hs.kr 계정으로만 동작합니다.