PetTalk은 반려인들의 고민을 해결해주는 종합 플랫폼입니다.
믿을 수 있는 훈련사 매칭부터 커뮤니티 활동까지, 반려동물과의 더 행복한 생활을 도와드립니다.
| 김주엽 | 권규태 | 한정호 | 진소희 | 조준호 |
|---|---|---|---|---|
| @kjyy08 | @rbxo0128 | @hanjungho | @soheeGit | @lSNOTNULL |
- 반려동물을 키우는 가구가 증가하면서 행동 교정, 훈련 등에 대한 전문적인 도움 필요성 증가
- 신뢰할 수 있는 전문 훈련사를 찾기 어려운 현실
- 반려동물 관련 정보와 경험을 공유할 수 있는 커뮤니티 부족
- 검증된 훈련사 프로필과 리뷰 시스템을 통한 신뢰성 있는 매칭 서비스
- AI 기반 챗봇으로 간단한 질문에 즉시 답변
- 다양한 주제별 커뮤니티로 반려인들 간의 소통 강화
- 지역, 전문 분야, 서비스 유형 등 다양한 필터로 맞춤형 훈련사 검색
- 훈련사 프로필, 자격증, 경력 등 상세 정보 제공
- 방문 교육과 영상 교육 옵션 제공
- 상담 신청 및 관리 시스템
- 반려동물 행동, 건강 관련 빠른 정보 제공
- 훈련사 추천 및 게시글 검색 기능
- MCP(Model Context Protocol) 활용으로 다양한 질의응답 지원
- 자유게시판, 펫 도구 후기, 질문 게시판, 자랑하기 등 다양한 게시판
- 이미지, 동영상 첨부 기능
- 태그 시스템과 AI 추천 태그 기능
- 댓글과 좋아요 기능으로 활발한 소통
- 카카오, 네이버 소셜 로그인 지원
- 사용자/훈련사 역할 분리
- 마이페이지에서 활동 내역 관리
- 훈련사 자격증 인증 시스템
- 사용자 관리 및 게시글/댓글 관리
- 리뷰 관리 시스템
- 언어 및 프레임워크: Java 17, Spring Boot
- 보안: Spring Security, JWT, OAuth2.0
- 데이터베이스: MySQL, JPA/Hibernate
- API 문서화: Swagger/OpenAPI
- 빌드 도구: Gradle
- 기본 기술: HTML, CSS, JavaScript
- 프레임워크 및 라이브러리: Bootstrap, Express.js
- 클라우드: AWS Lightsail
- 파일 스토리지: AWS S3
- 컨테이너화: Docker
- CI/CD: GitHub Actions(CI), Jenkins(CD)
- 프레임워크: LangChain4j, Spring AI
- 모델, Google Gemini 2.0 Flash
API 문서는 Swagger UI를 통해 제공됩니다. 애플리케이션이 실행된 후 다음 URL에서 확인할 수 있습니다:
- 개발 환경:
http://localhost:8080/swagger-ui/index.html - 개발 서버:
https://dev-api.pettalk.example.com/swagger-ui/index.html - 운영 서버:
https://api.pettalk.example.com/swagger-ui/index.html
API 문서에서는 다음과 같은 정보를 확인할 수 있습니다:
- 모든 API 엔드포인트 목록
- 요청/응답 형식 및 예시
- 인증 방법 (JWT Bearer 토큰)
- API 테스트 기능
-
저장소 클론
git clone https://github.com/your-organization/pettalk-backend.git cd pettalk-backend -
애플리케이션 실행
./gradlew bootRun --args='--spring.profiles.active=dev'
-
Docker 이미지 빌드
docker build -t pettalk-backend:latest -f docker/Dockerfile . -
Docker 컨테이너 실행
docker run -d \ --name pet-talk \ -p 8080:8080 \ -e SPRING_PROFILES_ACTIVE=dev \ pettalk-backend:latest
프로젝트는 Jenkins를 사용한 CI/CD 파이프라인이 구성되어 있습니다:
- GitHub 저장소에 코드 푸시
- Docker 이미지 빌드 및 GitHub Container Registry(ghcr.io)에 푸시
- Jenkins 파이프라인 자동 트리거
- 브랜치에 따른 환경 설정:
main브랜치: 운영 환경 (포트: 8443, 컨테이너: pet-talk-main)dev브랜치: 개발 환경 (포트: 8444, 컨테이너: pet-talk-dev)
- 서버에서 이미지 풀 및 컨테이너 실행
- API 응답 속도 개선
- AI 챗봇 성능 개선 및 특화 기능 추가