저희의 아이디어는 데이트 코스의 단조로움을 어떻게 하면 해소할 수 있을까? 라는 생각에서 시작했습니다.
아이디어를 구체화하는 과정에서 저희는 장소에 관련된 소재로 인스타, 유튜브 등의 SNS 및 동영상 플랫폼의 성장과 함께 등장한 인플루언서 라는 개념에 집중하게 되었습니다.
이는 인플루언서가 방문한 장소에 대한 정보를 서비스 해보자! 라는 생각으로 이어졌습니다.
이를 관심있는 인플루언서를 등록하고, 이에 따른 장소 추천 및, 장소에 대한 리뷰 기능을 통해 풀어내어 Inplace 라는 저희만의 웹 애플리케이션으로 구현해보았습니다.
긴 영상은 필요 없어요 인플루언서가 다녀간 쿨플, 한눈에 쏙!
- 회원 가입 및 로그인 기능
- 카카오를 이용한 회원 가입 및 로그인
- 회원 닉네임 변경 가능
- 관심있는 인플루언서 설정 기능
- 최초 로그인 시, 관심 인플루언서를 설정 가능
- 이후, 인플루언서 페이지에서 좋아요 버튼을 통해 설정 가능
- 마이 페이지에서 관심있는 인플루언서 삭제 가능
- 장소 검색 및 좋아요 기능
- 지도를 통한 장소 검색 가능
- 지역, 인플루언서, 장소 태그를 통한 검색 가능
- 장소 세부 정보 열람 및 장소 좋아요 가능
- 장소에 대한 정보를 모바일로 받기 가능 ( 카카오톡 나에게 메세지 보내기 )
- 지도를 통한 장소 검색 가능
- 리뷰 기능
- 정보 받은 후 3일 뒤 리뷰 페이지 전송 ( 카카오톡 나에게 메세지 보내기 )
- 리뷰 확인 및 수정 가능
Inplace의 주요 기능
- 회원가입 및 로그인
- Spring Security를 이용한 OAuth 2.0 카카오 로그인 기능을 사용합니다
- 쿠키에 Access, Refresh Token을 담아 사용하며, Refresh 동작을 수행할 수 있습니다
- 현재 위치 기반 서비스
- 웹 페이지의 위치 정보 사용에 동의시, 카카오 API와 내 위치 정보를 사용하여 주변의 장소 정보와, 자동 지도 위치 설정을 사용할 수 있습니다
- 통합 검색 서비스
- Elastic Search를 사용한 인플루언서, 장소, 비디오 이름에 대한 통합 검색 기능을 사용할 수 있습니다
- 관심 인플루언서 등록 및 이를 토대로 한 서비스
- 최초 로그인 시 & 인플루언서 페이지에서 관심 인플루언서를 등록할 수 있습니다
- 이를 토대로 메인 페이지에서 관심 인플루언서의 최신 방문 장소를 확인할 수 있습니다
- 지도 기반 검색 서비스
- 지도 API를 이용하여 장소를 검색할 수 있습니다
- 관심 등록하지 않은 인플루언서 및 주소, 장소 태그를 이용하여 세부 검색이 가능합니다
- 지도 API를 이용하여 장소를 검색할 수 있습니다
- 장소 세부 정보 서비스
- 장소의 세부 정보를 열람할 수 있습니다
- 장소에 달린 다른 유저들의 리뷰를 확인할 수 있습니다
- 장소에 대한 좋아요 기능을 사용할 수 있습니다
- 장소 세부 페이지에서 장소에 대한 정보를 카카오톡 메세지로 받아 볼 수 있습니다
- 리뷰 기능
- 장소 정보를 받은 후 3일 뒤, 해당 장소에 대한 리뷰 링크를 받아 리뷰를 작성할 수 있습니다
- 위 기능들은 카카오톡 메세지 보내기 API를 이용하며, 카카오톡으로 전송되는 링크는 모바일 뷰를 지원합니다
- 마이 페이지 기능
- 좋아요 표시한 장소, 인플루언서를 관리할 수 있습니다
- 내가 작성한 리뷰를 관리할 수 있습니다
- 사용자 닉네임을 변경할 수 있습니다
2024.08.22 ~ 2024.11.15
BackEnd : api.inplace.my
FrontEnd : inplace.my
Frontend |
Frontend |
이정민 |
이효은 |
Backend |
Backend |
Backend |
Backend |
Backend |
이상희 |
김동윤 |
정수현 |
우현서 |
배준호 |
API Spec : https://www.notion.so/API-9e96d1ef1475414b861a50d0e4ca366e
ERD : https://www.notion.so/ERD-36ec8e40cb264abe87588e97ae77ac55
Using Language
Repo, Code Volume
Commit Avg
Issues
PRs
Spring Boots 3.3.3
Java 17 LTS
Backend
Security
DB
Web
Deployment
Admin Page
Test
Code Maintenance
Collaboration Tool
테스트 시나리오 : https://www.notion.so/9ed68b292c004fc69f7eaad513054d96
테스트 결과보고서 : https://www.notion.so/08a520d3b8c44154a19425b0bcc16f6f
-
- oauth 로그인 시, jwt로 accessToken과 refreshToken을 Cookie에 담아줍니다.
- oauthToken은 aes알고리즘으로 암호화 되어 db에 저장됩니다.
- 모든 요청은 AuthorizationFilter에서 Cookie에 있는 토큰이 유효한지 확인하고, 유효하면 Authenticate합니다.
- oauth 로그인 시, jwt로 accessToken과 refreshToken을 Cookie에 담아줍니다.
-
- 요청이 오면 webClient(비동기)로 나에게보내기 kakao api를 통해 장소 정보를 보냅니다.
- 3일 뒤 나에게 보내기 kakao api를 통해 리뷰 요청 메세지를 보냅니다.
-
- Redis DB에 username(key)로 refreshToken을 확인하고, RTR (Refresh Token Rotation)을 합니다.
실제 유저 사용 페이지 흐름 보여주기 ( 영상 x )