'GATE'는 반려인과 반려견이 함께 행복한 시간을 보낼 수 있도록 돕는 플랫폼입니다.
반려견 동반 가능 장소를 쉽고 정확하게 검색할 수 있는 기능을 제공하며,
사용자와 반려견의 프로필을 기반으로 맞춤 장소를 추천합니다.
- 카카오 소셜 로그인
- 회원정보 조회/수정/삭제
- 반려견 프로필 조회/등록/수정/삭제
- 검색 조건에 따른 장소 리스트 조회
- 현 위치 기반 조회
- 장소 상세보기에서 즐겨찾기 등록
- 일정 생성 시, 즐겨찾기 리스트 조회가능
- 지도에 즐겨찾기에 등록한 위치 표시
- 장소에 대한 사진, 동영상, 별점, 텍스트 리뷰 작성
- AI 후기 요약 (ChatGPT 이용)
- 일정 경로 추천
- 일정 생성/조회/수정/삭제
src/main/java/com/ureca/gate
├── dog # 반려견 관리 기능
├── favorites # 즐겨찾기 기능
├── global # 설정 및 공통 기능
├── member # 사용자 관리 기능
├── place # 장소 검색 및 추천
├── plan # 일정 관리 기능
└── review # 후기 관리 기능
├── controller # REST API 컨트롤러
├── domain # 도메인 객체 정의
├── infrastructure # 어댑터 및 연동
└── service # 서비스 로직 및 비즈니스 처리
github action - S3 - CodeDeploy - ec2 github action으로 jar 파일을 S3에 저장한 후 CodeDeploy로 ec2에 배포합니다.
github action - S3 - CloudFront - Route53 github action으로 react 프로젝트를 S3에 저장한 후에 CloudFront를 사용해 웹서버를 만듭니다. 그리고 route53을 이용해서 도메인을 인증하고 ssl인증서를 발급하고 ALB와 https 통신을 합니다.
사용자는 웹서버로 접속하고 ALB를 통해서 spring boot가 올라가 있는 ec2와 통신합니다. 그리고 spring boot는 rds와 elasticache의 redis를 이용해 데이터를 저장하거나 가져옵니다.
