Skip to content

[Homemate]: 챗봇 기반 집 추천 도우미 서비스

Notifications You must be signed in to change notification settings

gachon-graduate-project1/Backend

Repository files navigation

웹 사이트 전체 구성

image

  • 주 사용자는 이사를 앞둔 서울지역과 성남 지역의 전 연령층이며, 사용자는 도메인을 통해서 접속하며 사용하기 편리하도록 고안되는 것을 전제로 한다.
  • 집 매물 추천 서비스를 효과적으로 관리하기 위해 관리자 기능을 구성하였으며, 사용자와 관리자 모두 최대한 편리하게 이용할 수 있도록 개발한다.
  • 관리자는 웹 기반 시각화된 UI를 통해 회원 관리, 매물 등록/수정/삭제 등의 관리를 할 수 있도록 한다.
  • 사용자들은 소셜 로그인 후 집 추천 서비스. 전체 매물 조회, 지역별 커뮤니티를 이용할 수 있다.



프로젝트 사용기술

  • Spring Boot
  • Java 17
  • MySQL
  • Gradle
  • AWS S3, S3 Bucket
  • Swagger
  • Spring Security
  • Intellij IDEA



서비스 구성 및 개요

image

① 사용자는 웹을 통해 소셜 로그인에 따라 사용자 가입을 요청한다.
② 사용자는 웹을 통해 서버에 정해진 매물 필터링 조건(분양 조건/가격/매물 유형)에 따라 맞춤형 매물 추천을 요청하고 서버(AI)에서 추론된 맞춤형 매물을 조회할 수 있다.
③ 관리자는 웹을 통해 사용자 가입이 된 사용자들의 정보를 관리(사용자 정보 조회, 사용자 정지)할 수 있고, 매물 정보를 조회, 삭제할 수 있다.
④ 사용자는 웹을 통해 지역을 검색(ex. 복정동)하여 원하는 매물을 조회할 수 있다.
⑤ 사용자는 웹을 통해 지역별 커뮤니티를 이용할 수 있고, 지역별 커뮤니티에서 게시글/댓글 조회, 삭제, 등록할 수 있다.
⑥ 관리자는 웹을 통해 데이터베이스에 등록된 커뮤니티 정보를 관리(조회, 삭제)할 수 있다.



요구사항기능 정의

사용자용 서비스 유스케이스 모델

image

  • 사용자는 내 정보 관리를 위해 사용자 가입, 로그인, 로그아웃, 사용자 정보 수정, 사용자 탈퇴 관련 페이지에 접근이 가능하다.
  • 매물 추천 기능을 이용하기 위해 챗봇을 이용하여 매물 조건을 입력하여 원하는 매물 및 추천 매물을 조회할 수 있고, 지역별 커뮤니티를 이용할 수 있는데 커뮤니티 내 검색 기능을 이용하여 지역내 원하는 내용이 포함된 게시글을 조회할 수 있고, 사용자가 직접 게시글 등록, 삭제도 할 수 있다.
  • 또한 게시글에 달린 댓글들 조회도 가능하며 사용자가 직접 댓글을 등록, 삭제도 할 수 있다.



관리자용 서비스 유스케이스 다이어그램

image

  • 관리자는 내 정보 관리를 위해 로그인, 로그아웃, 정보수정, 관리자 탈퇴 페이지에 접근이 가능하다.
  • 사용자 관리 기능으로 사용자 정보를 조회, 삭제할 수 있고, 매물 관리 기능으로 등록된 매물 정보를 조회하고 매물을 삭제 할 수 있다.
  • 또한 게시글/댓글 관리 기능을 통해 게시글/댓글을 조회 및 삭제도 가능하며 신고가 5회 이상 들어온 게시글/댓글은 자동 삭제 된다.



챗봇과의 대화(메인 기능) Sequence Diagram

image

  • 사용자는 매물 추천을 받기 전 몇 가지의 필터링 질문을 받는다.
  • 이 질문들은 사용자가 원하는 매물의 종류, 거래 유형, 지역, 가격, 면적 등을 포함한다.
  • 사용자가 이러한 질문에 맞는 답변을 하고 추가적인 조건을 작성한다면, 챗봇은 그에 부합하는 매물을 추천해준다.



서비스 인터페이스 구조

image

  • 클라이언트(사용자와 관리자)와 서버(웹 서버)가 웹 브라우저인 구글 크롬을 통해 필요한 정보를 송수신 하는 인터페이스 전송 구조이다.
  • 즉, 클라이언트가 서버에게 정 보를 요청하거나 명령을 내리는 방식으로 REST API 방식을 이용하여 설계한다.
  • 챗봇을 통한 맞춤형 매물 추천 서비스의 메인 서버는 SpringBoot과 JPA, Nginx와 등 내부에 여러 모듈들로 구성되어 있으며, DB는 MariaDB를 사용한다.
  • 외부 APIs를 통해 사용자에게 맞춤형 매물 데이터를 제공한다.
  • 클라이언트가 서버에서 요청하는 메시지 타입은 크게 4가지인 정보조회(GET), 생성 (POST), 수정 또는 변경(PUT/PATCH), 삭제(DELETE)로 구분하며, 각 요청별로 REST API방 식으로 메시지를 설계한다.



개발 환경

image

About

[Homemate]: 챗봇 기반 집 추천 도우미 서비스

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •