Skip to content

2025학년도 대학-지역사회 연계 K-HTML 해커톤 대회 우수상을 수상한 프로젝트로 AI와 지도 기반 미션으로 동대문을 걸으며 나만의 식물 도감을 만들어가는 참여형 보행 플랫폼

Notifications You must be signed in to change notification settings

ej9374/2025_KHTML_WALKING_RABBIT_BE

 
 

Repository files navigation

Image

🚶 워킹토끼

AI와 지도 기반 미션으로 동대문을 걸으며 나만의 식물 도감을 만들어가는 참여형 보행 플랫폼

프로젝트 개요

워킹토끼는 단순히 걷기를 기록하는 것에서 나아가, 보행 환경 자체를 개선하는 데 기여하고자 기획한 서비스입니다. ‘워킹시티’라는 도시 비전과 연결해, 지역 주민이 직접 보행 경험을 공유하고 문제점을 제안할 수 있도록 설계했습니다. 서비스 이름은 걷기(walking)와 무전기(walkie-talkie)에서 착안해, “걸음을 잇는 소통”이라는 의미를 담았습니다.

  • 사용자가 촬영한 식물을 AI 챗봇이 인식하고 대화형 설명을 제공
  • 발견한 식물을 지도에 표시하고 사진/설명으로 자신만의 식물 도감 구축
  • 생성형 AI 미션 제공을 통해 걷기에 재미와 동기를 부여

이러한 기능을 통해 단순 걷기 기록 앱이 아닌, 녹지 경험 확산과 보행 환경 개선에 기여하는 서비스를 구현했습니다.

  • 개발 기간: 2025.08 (2주)
  • 팀 구성: FE 2명, BE 1명, AI 1명

나의 역할 및 구현 내용

  • 사용자 인증 및 회원 관리
    • JWT 기반 카카오 로그인·회원가입 인증 로직 구현
    • Spring Security 기반 인증/인가 처리
  • AI 연동 기능
    • Gemini 기반 미션 생성 API 연동
    • WebClient를 활용한 AI 호출 및 응답 파싱
    • 식물 인식 모델 연동 및 챗봇 상호작용 로직 구현
  • 도감 기록 관리
    • 식물 발견 기록 CRUD (날짜·위치별 저장)
    • 지도·캘린더 시각화용 데이터 제공 API
  • 랭킹 및 커뮤니티 기능
    • 유저별 도감 개수 집계 및 랭킹 API 설계
  • 사용자 피드백 수용
    • 걷기 어려운 보행지 등록 및 피드백 수용을 통한 커뮤니케이션
  • 배포·운영
    • AWS EC2 + RDS 환경 구축 및 서비스 배포
    • Docker 기반 컨테이너 운영 및 관리

기술 스택

분야 기술
Language Java
Framework Spring Boot, Spring Security
Database MySQL
Infra AWS EC2, AWS RDS, AWS S3, GCP Storage
Tools Git, GitHub, Figma, Discord, Notion

주요 기능

사용자 인증 및 회원 관리

  • 카카오 로그인: 카카오 OAuth2.0 API를 연동해 소셜 로그인 기능 제공
  • JWT 기반 인증/인가 처리: 로그인 이후 모든 API 요청 시 JWT 검증을 통해 보안 강화

AI 기반 미션 생성 및 수행

  • Gemini 기반 '오늘의 미션' 자동 생성: 랜덤한 비율로 지역 데이터 정보와 혼합된 미션 제공
  • 미션 수행 과정 기록: AI로 부터 응답 받은 성공 결과를 지도·캘린더에 표시

AI 챗봇 식물 인식

  • 사진 업로드 → 식물 종 추정: 사용자가 촬영한 식물을 AI 모델과의 통신을 통해 식물 종 판별
  • 대화형 설명 제공: 챗봇이 해당 식물의 특징, 서식지, 계절성 등을 설명하고 사용자 질문에 응답하는 대화형 인터페이스 제공
  • 대화 기억 및 심화 학습: 동일 유저의 같은 종에 대한 이전 대화를 기억하여 반복 질문 시 심화된 설명 제공

도감 기록 관리

  • 발견 기록 저장 및 조회: 날짜·위치·식물명·사진·설명 등을 기록하여 유저별 개인 도감 형태로 축적
  • 지도와 캘린더 기반 기록 시각화: 식물 발견 위치를 지도 위에 표시, 일자별로 어떤 식물 발견했는지 요약 표시
  • 도감 수 기준 랭킹 제공: 전체 사용자 간 도감 수 비교하여 전체/개인별 랭킹 표시

사용자 피드백

  • 보행 환경 개선 의견 수집: 사용자가 위치 정보와 함께 보행에 불편한 장소에 대한 피드백 저장
  • 행정 활용 가능성: 축적된 피드백 데이터를 동대문구청 등 행정기관에 제공하여, 실제 보행 환경 개선 자료로 활용될 수 있음

아키텍처

Image

주요 설계

🔹 JWT 기반 인증 구조

  • 목적: 카카오 로그인 이후 stateless 구조를 유지하고, 서버 확장 시에도 인증 일관성을 보장하기 위해 JWT 기반 인증 방식을 사용
  • 구성: 클라이언트가 카카오 로그인 성공시 JWT 생성하여 전달하여 API 요청시 JWT를 헤더에 포함해 인증/인가 처리, 토큰 유효성 검증 및 사용자 권한 확인 후 자원 접근 허용.

🔹 WebClient 기반 AI 연동

  • 목적: Gemini API와 식물 인식 모델 호출 시 비동기 처리를 지원하고, 안정적인 응답 파싱 및 확장성을 확보하기 위함
  • 구성: 클라이언트로부터 사진 업로드 및 미션 요청 수신하면 서버에서 WebClient를 통해 AI 모델 API 호출하여 응답을 전달

🔹 GCP Storage를 이용한 이미지 관리

  • 목적: 서버의 부담을 줄이고, 이미지 파일의 확장성과 관리 효율성을 높이기 위해 외부 스토리지로 사용
  • 구성: 클라이언트가 이미지를 요청하면, 서버는 GCP Storage에 이미지를 업로드하고 해당 파일에 접근할 수 있는 URL을 데이터베이스에 저장.

발표 자료

Image Image Image Image Image Image Image Image Image Image Image Image

About

2025학년도 대학-지역사회 연계 K-HTML 해커톤 대회 우수상을 수상한 프로젝트로 AI와 지도 기반 미션으로 동대문을 걸으며 나만의 식물 도감을 만들어가는 참여형 보행 플랫폼

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 99.8%
  • Dockerfile 0.2%