Skip to content

MyHomeCatch/MyHomeCatch_Back

Repository files navigation

🐈 MHC: 체계적인 청약 정보 제공 플랫폼


"나만의 꿈의 집을 찾아보러 가볼까요!"


1 2 3 4 5 6 7

팀원

김서현 김재현 나동건 류세민
박소현 윤예림 정혜인 한충훈


1. Project Overview (프로젝트 개요)

✨ MyHomeCatch 란?

청약 절차에 익숙하지 않은 사용자도 손쉽게 자격을 확인하고,

조건에 맞는 청약 정보를 한 눈에 확인할 수 있도록 돕는 서비스

📌 주요 기능

  • 자가진단을 통한 청약 조건 확인
  • 맞춤형 필터로 신청 가능 공고 추천
  • 인프라 · 절차 · 일정 등통합 정보 제공
  • 핵심 정보만 선별 제공시간 절약과 빠른 의사결정 지원


2. Key Features (주요 기능)

1) 지원 계획을 돕는 청약 자격진단

  • 지원 가능 유형 확인이 아닌 국민임대, 공공임대, 행복주택, 영구임대에 대해 1순위 지원 가능한지 확인

2) 맞춤형 청약 공고와 캘린더

  • 자격진단 내용을 바탕으로 지원 가능한 청약정보를 메인 페이지와 캘린더에서 우선 제공

3) 청약 공고 요약과 챗봇 서비스

  • PDF로 올라오는 공고문, 직접 다운받지 않아도 AI를 활용해 공고 요약 내용 확인, 챗봇에 질문


3. ERD (DB 설계)

스크린샷 2025-08-19 오후 4 04 18 스크린샷 2025-08-19 오후 4 04 35

4. Technology Stack (기술 스택)

🖥 Frontend

기술 배지
HTML5 HTML5
CSS3 CSS3
JavaScript JavaScript
Vue.js Vue.js
Vite Vite
Bootstrap Bootstrap

🔧 Backend

기술 배지
Java Java
Spring Spring
Tomcat Tomcat
Gradle Gradle

🚀 DB

기술 배지
MySQL MySQL
MyBatis MyBatis

🔧 APIS

기술 배지
Google Gemini API Google Gemini API
Kakao Maps API Kakao Maps API
공공데이터포털 공공데이터포털
한국부동산원 한국부동산원


5. application.properties (설정 파일)

📝 설정 파일 생성

프로젝트 루트 디렉토리에 application.properties 파일을 생성하고, 아래 예시를 참고해 환경 변수 값을 채워 넣습니다.
(주의: 실제 값은 {} 부분을 발급받은 값으로 교체하세요.)


# ---------------------------
# Database 설정
# ---------------------------
jdbc.driver={JDBC_DRIVER}          # DB 드라이버 (ex: com.mysql.cj.jdbc.Driver)
jdbc.url={JDBC_URL}                # DB 접속 URL (ex: jdbc:mysql://localhost:3306/db명)
jdbc.username={DB_USERNAME}        # DB 계정명
jdbc.password={DB_PASSWORD}        # DB 비밀번호


# ---------------------------
# 공공 API 키
# ---------------------------
APPLYHOME_API_SERVICE_KEY={APPLYHOME_API_KEY}   # 국토교통부 청약홈 API 키 (공공데이터포털에서 발급)
LH_API_SERVICE_KEY={LH_API_KEY}                 # LH 공사 관련 API 키 (공공데이터포털에서 발급)


# ---------------------------
# Kakao 로그인
# ---------------------------
kakao.clientId={KAKAO_CLIENT_ID}                        # 카카오 개발자센터에서 발급받은 REST API 키
kakao.redirectUrl=http://localhost:5173/auth/loading    # 로그인 후 redirect 받을 URL (프론트엔드 주소)


# ---------------------------
# Google 로그인
# ---------------------------
google.client.id={GOOGLE_CLIENT_ID}         # Google Cloud Console OAuth 클라이언트 ID
google.client.secret={GOOGLE_CLIENT_SECRET} # Google Cloud Console OAuth 클라이언트 Secret
google.redirect.uri=http://localhost:5173/auth/googleloading  # 로그인 후 redirect 받을 프론트엔드 주소
# (개발 시 로컬 5173, 실제 서비스 시 배포 URL로 교체 필요)


# ---------------------------
# 이메일 (Gmail SMTP)
# ---------------------------
spring.mail.host=smtp.gmail.com
spring.mail.port=587
spring.mail.username={GMAIL_USERNAME}    # Gmail 주소 (보내는 계정)
spring.mail.password={GMAIL_APP_PASSWORD} # Gmail 앱 비밀번호 (2단계 인증 후 발급 필요)
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.timeout=5000
spring.mail.properties.mail.smtp.starttls.enable=true


# ---------------------------
# Chat AI (예: Gemini)
# ---------------------------
gemini.api.key={GEMINI_API_KEY}  # Google AI Studio (Gemini)에서 발급받은 API 키
gemini.api.url={GEMINI_API_URL}  # Gemini API 호출 endpoint URL (예: https://generativelanguage.googleapis.com/v1beta)


📖 환경 변수 설명

변수명 설명 발급/설정 경로
{JDBC_DRIVER}, {JDBC_URL}, {DB_USERNAME}, {DB_PASSWORD} DB 연결 설정 사용 중인 DB(MySQL, PostgreSQL 등) 환경
{APPLYHOME_API_KEY} 청약홈 API 키 공공데이터포털
{LH_API_KEY} LH 임대주택 API 키 공공데이터포털
{KAKAO_CLIENT_ID} 카카오 로그인 REST API 키 카카오 개발자센터
{GOOGLE_CLIENT_ID} / {GOOGLE_CLIENT_SECRET} Google OAuth2 클라이언트 Google Cloud Console
{GMAIL_USERNAME} Gmail 계정 (보내는 이메일) Gmail 계정
{GMAIL_APP_PASSWORD} Gmail 앱 비밀번호 (2FA 필요) Google 계정 보안 → 앱 비밀번호
{GEMINI_API_KEY} Gemini API Key Google AI Studio
{GEMINI_API_URL} Gemini API Endpoint Google AI Studio Docs

About

맞춤형 청약 정보를 제공하는 '마이홈캐치'입니다.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages