Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
244 commits
Select commit Hold shift + click to select a range
1c2f1b5
[feat] MongoDB 설정 및 Global 설정 추가
codrin2 Oct 14, 2024
99576aa
feat: redis, jwt 의존성 추가
codrin2 Oct 15, 2024
ebab4a5
[feat] 리드미 추가
codrin2 Oct 15, 2024
5936755
Update issue templates
codrin2 Oct 15, 2024
b02c8c2
Create PULL_REQUEST_TEMPLATE.md
codrin2 Oct 15, 2024
2e772df
feat: ddd 멀티모듈 구조로 변경
sominyun Oct 16, 2024
8cf0729
fix: base entity 제거
sominyun Oct 20, 2024
ad8e154
fix: base entity 제거
sominyun Oct 20, 2024
27c3710
feat: url 확장 util
sominyun Oct 20, 2024
3d3a380
feat: 이벤트 진입 api 구현
sominyun Oct 20, 2024
ac3d90c
fix: unused import
sominyun Oct 20, 2024
89812fc
feat: 네이버 지도 크롤링
sominyun Oct 20, 2024
a491b67
feat: 이름 공백, 특수문자, 숫자 불가능
sominyun Oct 21, 2024
0b4570e
feat: dto request 안에서 구현하는것으로 변경
sominyun Oct 21, 2024
721778b
feat: bookmark에 url 추가
sominyun Oct 21, 2024
4843201
Merge pull request #4 from Team-pingping/feature/nonmember-login
codrin2 Oct 21, 2024
99e1757
fix: 테이블명 link->url
sominyun Oct 21, 2024
9b134b5
feat:#6 ping 전체 불러오기 api
sominyun Oct 22, 2024
fbe2ef1
fix:#6 uuid unique 추가
sominyun Oct 22, 2024
c4d4c45
fix:#6 url 주소 변경
sominyun Oct 22, 2024
169836a
feat(PlaceController): #5 장소 검색 API
codrin2 Oct 22, 2024
5925d0f
feat(PlaceService): #5 장소 검색 및 저장 로직
codrin2 Oct 22, 2024
bc28af9
feat: #5 Place domain 및 repository
codrin2 Oct 22, 2024
d9aa650
feat: #5 Place Entity, JpaRepository, Impl 추가
codrin2 Oct 22, 2024
b66893c
feat: #5 Naver API Client 구현
codrin2 Oct 22, 2024
f897808
fix:#6 기본프로필이 아닌 level1 icon으로 변경
sominyun Oct 23, 2024
12bf043
Merge pull request #7 from Team-pingping/feature/6-getNonMemberPings
sominyun Oct 23, 2024
fb682de
hotfix: bootJar isEnabled = false
sominyun Oct 23, 2024
e4e8b69
feat: application.yml
sominyun Oct 23, 2024
b08e6b0
Merge pull request #8 from Team-pingping/feature/db
sominyun Oct 23, 2024
434f90d
hotfix: 포트 변경
sominyun Oct 23, 2024
f3a91c3
remove: place 관련 필요없는 로직 삭제
codrin2 Oct 23, 2024
7eb9053
feat(PlaceController): request 형식 PathVariable로 변경
codrin2 Oct 23, 2024
d00ce96
Merge pull request #9 from Team-pingping/feature/5-neighborhood
codrin2 Oct 23, 2024
0e03e29
feat(EventService): 이벤트 생성 로직
codrin2 Oct 23, 2024
2cd5f66
fix: ShareUrl에 장소의 위도 및 경도 추가
codrin2 Oct 23, 2024
c073a09
feat: EventController 구현
codrin2 Oct 23, 2024
99ceec0
Merge pull request #11 from Team-pingping/feature/10-shareUrl
codrin2 Oct 23, 2024
edecd2a
feat: NonMemberLoginService 및 Validator 분리
codrin2 Oct 23, 2024
7674f87
feat(NonMemberController): 비회원 로그인 API 추가
codrin2 Oct 23, 2024
b68a1e1
Merge pull request #12 from Team-pingping/feature/10-shareUrl
codrin2 Oct 24, 2024
59a8cba
feat(yaml): base-url 변수 추가
codrin2 Oct 24, 2024
3fb5a78
Merge pull request #13 from Team-pingping/feature/10-shareUrl
codrin2 Oct 24, 2024
d0d1778
fix(yaml): BASE_URL 변수 이름 수정
codrin2 Oct 24, 2024
36b0767
fix(PlaceSerice): 장소 title에 <b> 삭제 로직 추가
codrin2 Oct 24, 2024
c0b8c7c
feat:#15 rest docs 설정
sominyun Oct 25, 2024
eac908a
feat:#15 nonMemberController test code
sominyun Oct 25, 2024
6008cf5
fix:#15 줄간격 수정
sominyun Oct 25, 2024
426c67b
feat:#15 git ignore
sominyun Oct 25, 2024
21fc348
fix: NonMemberValidator 잘못된 이름 수정
codrin2 Oct 27, 2024
57caa36
Merge pull request #16 from Team-pingping/feature/15-restdocs
sominyun Oct 27, 2024
4d52430
feat: NonMemberUpdateStatusDomain 구현
codrin2 Oct 27, 2024
9a82219
feat: NonMemberUpdateStatusEntity 구현
codrin2 Oct 27, 2024
5e78d07
feat: domain 계층의 NonMemberUpdateStatusRepository 구현
codrin2 Oct 27, 2024
74e4e9a
feat: infra 계층의 NonMemberUpdateStatus RepositoryImpl, Mapper, JpaRepo…
codrin2 Oct 27, 2024
ce4d740
feat:#15 uri 상수처리
sominyun Oct 27, 2024
1199713
feat:#15 GetAllNonMemberPings response px,py 추가
sominyun Oct 27, 2024
813b318
fix:#15 private method로 변경
sominyun Oct 27, 2024
5436591
feat(NonMemberService):
codrin2 Oct 27, 2024
3c66839
feat(NonMemberController
codrin2 Oct 27, 2024
35ee067
feat:#18 nonMemberPing 불러오기
sominyun Oct 27, 2024
768fd96
feat:#18 개별 핑 불러오기 test code
sominyun Oct 27, 2024
62a4244
Merge pull request #19 from Team-pingping/feature/#18-getNonMemberPing
sominyun Oct 27, 2024
76fce2a
feat: createNonMemberPings 메소드에 새로 생성된 비회원의 업데이트 상태 추가 로직 및 중복 로직 분리
codrin2 Oct 29, 2024
3bc2201
fix: nonMemberPlaces 중복 오류 수정
codrin2 Oct 29, 2024
fbf9603
Merge branch 'develop' into feature/14-modify-mappin
codrin2 Oct 29, 2024
23772e5
Merge pull request #20 from Team-pingping/feature/14-modify-mappin
codrin2 Oct 29, 2024
27aa496
feat(NaverApiClient):
codrin2 Oct 29, 2024
2aa9862
feat(PlaceService): 좌표 반환 로직 추가
codrin2 Oct 29, 2024
14f5406
feat(PlaceController): 좌표 생성 API 추가
codrin2 Oct 29, 2024
1072113
feat: 네이버 클라우드 시크릿 키 추가
codrin2 Oct 30, 2024
d13c59f
Merge pull request #22 from Team-pingping/feature/21-coordinate
codrin2 Oct 30, 2024
320dd1e
feat: 네이버 클라우드 시크릿 추가
codrin2 Oct 30, 2024
667a179
test: EventController 테스트 코드 및 Restdocs 추가
codrin2 Oct 30, 2024
b4a28f2
test: PlaceController, NonMemberController 테스트 코드 및 Restdocs 추가
codrin2 Oct 30, 2024
13b0008
Merge pull request #24 from Team-pingping/feature/23-test
codrin2 Oct 30, 2024
a2d4cbb
fix: adoc 잘못된 이름 수정
codrin2 Oct 30, 2024
6d0b0c8
fix(NonMemberController): 비회원 login API 반환값 삭제
codrin2 Oct 30, 2024
77859d6
Merge pull request #25 from Team-pingping/feature/23-test
codrin2 Oct 30, 2024
11171f8
feat: 비회원 로그인 시 비회원이 저장한 url 반환
codrin2 Oct 30, 2024
b91c4b6
feat: 핑 업데이트 시 비회원의 북마크와 스토어 url 변경 로직 추가
codrin2 Oct 30, 2024
c1ea348
Merge pull request #27 from Team-pingping/feature/26-refresh
codrin2 Oct 30, 2024
2966ffb
feat: health 체크를 위한 actuator 추가
codrin2 Oct 31, 2024
1226f71
test: 비회원 로그인 로직 변경에 따른 테스트 코드 수정
codrin2 Oct 31, 2024
f6258f8
feat(NaverApiClient): 네이버 reverse geocode API 연결
codrin2 Oct 31, 2024
c6cdf27
feat(PlaceService): getReverseGeocode 로직 추가
codrin2 Oct 31, 2024
0ce41d5
feat(PlaceController):
codrin2 Oct 31, 2024
3a86869
feat(NaverApiClient): 도로명 주소 반환값에 토지 본번호와 상세 주소 추가
codrin2 Oct 31, 2024
d1c5b91
test: getReverseGeocode 테스트 코드 추가
codrin2 Oct 31, 2024
ecb160e
Merge pull request #29 from Team-pingping/feature/28-naverAPI
codrin2 Oct 31, 2024
7ded432
feat: 도로명 주소 반환 API Restdocs 추가
codrin2 Oct 31, 2024
527ca6f
fix(PlaceController): 도로명 주소 API 요청값 반올림 처리
codrin2 Oct 31, 2024
9d54f17
feat(NonMemberService): 전체 비회원 멤버 리프레쉬 로직 추가
codrin2 Oct 31, 2024
4b201cc
feat(NonMemberController): 전체 비회원 멤버 리프레쉬 API 추가
codrin2 Oct 31, 2024
882a8ea
test(NonMemberControllerTest): 전체 비회원 멤버 리프레쉬 테스트 코드 추가
codrin2 Oct 31, 2024
c663401
docs(NonMember.adoc): 전체 비회원 멤버 리프레쉬 API RestDocs 추가
codrin2 Oct 31, 2024
2bcba4a
Merge pull request #31 from Team-pingping/feature/30-refresh-ping
codrin2 Oct 31, 2024
cdf377b
fix(NonMemberService): 비회원 멤버 리프레쉬 로직 수정
codrin2 Oct 31, 2024
1ceea61
Revert "Merge pull request #31 from Team-pingping/feature/30-refresh-…
codrin2 Oct 31, 2024
e1bdf05
Merge branch 'develop' into feature/30-refresh-ping
codrin2 Oct 31, 2024
c6bc1fa
Merge pull request #32 from Team-pingping/feature/30-refresh-ping
codrin2 Oct 31, 2024
a2a7881
fix: revert 했던 일부 코드 복구
codrin2 Oct 31, 2024
2b2280b
refactor:#33 안쓰는 docker-compose 삭제
sominyun Nov 1, 2024
99491b0
refactor:#33 ValidationUtil class 생성
sominyun Nov 1, 2024
cc21412
refactor:#33 분리된 nonMemberService 합침
sominyun Nov 1, 2024
6f76e9b
Merge pull request #34 from Team-pingping/feature/33-nonmember-refact…
sominyun Nov 1, 2024
a20493c
fix(NonMemberService): 핑 업데이트, 리프레쉬 비회원의 핑이 제대로 삭제 안되는 오류 수정
codrin2 Nov 3, 2024
e732f05
refactor(NonMemberService): 비회원 핑 업데이트 메서드 분리
codrin2 Nov 3, 2024
d34627a
refactor(NonMemberService): updateNonMemberPlacesIfNeeded 메소드 수정
codrin2 Nov 3, 2024
a55fe4f
refactor(NonMemberService): getAllNonMemberPings의 중복된 로직 부분 분리된 메소드를 …
codrin2 Nov 3, 2024
170c841
docs:#36 readme 추가
sominyun Nov 3, 2024
883ee66
Merge pull request #37 from Team-pingping/docs/readme
sominyun Nov 3, 2024
9d2a3a5
refactor(NonMemberService): createNonMemberPings의 중복된 로직 부분 분리된 메소드를 …
codrin2 Nov 3, 2024
ab241ea
Merge pull request #38 from Team-pingping/fix/35-ping-update
codrin2 Nov 3, 2024
cb4216f
docs(README): 시스템 아키텍처 사진 변경
codrin2 Nov 3, 2024
07fdf58
feat: mongodb atlas로 변경
sominyun Nov 3, 2024
117b708
Merge pull request #39 from Team-pingping/feature/mongodb-atlas
sominyun Nov 3, 2024
9b3e65f
feat: swagger ui 생성
sominyun Nov 4, 2024
286b1aa
feat: testcode restdocs, swagger 둘 다 가능하도록 설정
sominyun Nov 4, 2024
dcd267e
feat: gradle 수정
sominyun Nov 4, 2024
a6985dd
feat: yaml gitignore
sominyun Nov 4, 2024
aeecdb5
feat: 필요없는 snippet 제거, 필요한 snippet 추가
sominyun Nov 4, 2024
4a576ab
feat: gitignore docker-compose
sominyun Nov 4, 2024
8d4357c
Merge pull request #41 from Team-pingping/feature/swagger
sominyun Nov 5, 2024
b472fd7
feat:#42 비회원 랜덤 profile 생성
sominyun Nov 5, 2024
812d01e
feat:#42 비회원 랜덤 profile 생성 test code
sominyun Nov 5, 2024
78e3cfb
Merge pull request #43 from Team-pingping/feature/42-profileUrl
sominyun Nov 6, 2024
9d395cb
feat(ShareUrlEntity): pingUpdateTime 컬럼 추가
codrin2 Nov 12, 2024
648281b
remove(NonMemberUpdateStatusEntity): 기능 변경에 따른 엔티티 삭제
codrin2 Nov 12, 2024
78a9d97
remove(NonMemberUpdateStatusRepository): 기능 변경에 따른 레포지토리 삭제
codrin2 Nov 12, 2024
a8da93e
remove(NonMemberUpdateStatusMapper): 기능 변경에 따른 mapper 삭제
codrin2 Nov 12, 2024
f6ac94f
remove(NonMemberUpdateStatusRepositoryImpl): 기능 변경에 따른 삭제
codrin2 Nov 12, 2024
913366d
remove: 기능 변경에 따른 NonMemberUpdateStatus 관련 클래스 및 메서드 삭제
codrin2 Nov 12, 2024
44f36ac
feat: shareUrl에 pingUpdateTime column 추가
codrin2 Nov 12, 2024
297e18b
feat(NonMemberService): 핑 업데이트되는 메소드에 현재시간 추가하는 로직 추가
codrin2 Nov 12, 2024
b0e90eb
feat:#45 subway 도메인, 엔티티, 레포지토리 생성
sominyun Nov 12, 2024
5b33494
feat:#45 interface로 변경
sominyun Nov 12, 2024
4539d81
feat:#45 import 변경
sominyun Nov 12, 2024
5d67ba5
feat:#45 검색시 역은 자동완성 되도록
sominyun Nov 12, 2024
02e12ba
feat(NonMemberService): 전체 핑 반환 및 새로고침 시 반환 값에 마지막 업데이트 값 추가
codrin2 Nov 12, 2024
bf93975
test(NonMemberControllerTest): 전체 핑 반환 및 새로고침 시 반환 값에 마지막 업데이트 값 추가
codrin2 Nov 12, 2024
375c88b
feat:#46 ping-client 의존성 추가
sominyun Nov 12, 2024
c44b240
feat:#46 url 예외처리 추가
sominyun Nov 12, 2024
082c744
feat:#46 유효한 url 인지 api
sominyun Nov 12, 2024
4ac31b7
feat:#46 유효한 url 테스트코드
sominyun Nov 12, 2024
49d6130
Merge pull request #47 from Team-pingping/feature/search-subway
sominyun Nov 12, 2024
f3c721b
fix:#45 test subwayMongoRepository bean 추가
sominyun Nov 12, 2024
de36318
fix(NonMemberService): 시간 차이 계산 시 pingUpdateTime null 분기 처리
codrin2 Nov 13, 2024
928aab2
fix(NonMemberService): 핑이 업데이트 된 적이 없는 경우 pintUpdateTime으로 null 반환
codrin2 Nov 13, 2024
356b542
Merge pull request #48 from Team-pingping/feature/44-update-time
codrin2 Nov 13, 2024
7699460
Merge branch 'develop' of https://github.com/Team-pingping/pingping-B…
sominyun Nov 13, 2024
2af50ad
fix:#46 링크 패턴 상수화
sominyun Nov 13, 2024
4768442
Merge pull request #49 from Team-pingping/feature/bookmark-store-eachurl
sominyun Nov 13, 2024
f4fcbcb
feat(BookmarkEntity): GeoJsonPoint 컬럼 추가
codrin2 Nov 13, 2024
65dd1e4
feat: BookmarkRepository 관련 클래스 findByLocationNear 로직 추가
codrin2 Nov 13, 2024
8c9e358
feat(GetRecommendPings): 추천 핑 요청 및 반환 DTO 생성
codrin2 Nov 13, 2024
75e658b
feat(NonMemberService): 추천 핑 반환 메서드 추가
codrin2 Nov 13, 2024
e806982
feat(NonMemberController): 추천 핑 반환 API 추가
codrin2 Nov 13, 2024
ad2aca6
feat(GetAllNonMemberPings): 반환 값에 동네명 추가
codrin2 Nov 13, 2024
0bdbaba
feat(NonMemberService): 추천 핑에서 사용자가 가지고 있는 핑은 제외하는 로직 추가
codrin2 Nov 13, 2024
a8e2963
feat: 추천 장소 엔티티 및 도메인 구현
codrin2 Nov 14, 2024
093d6fd
feat: 추천 장소 엔티티 repository단 구현
codrin2 Nov 14, 2024
b2e3f7e
fix: JPQL 시 반환값으로 Pair 대신 SidCount로 수정
codrin2 Nov 14, 2024
23800a5
fix: 요구사항에 따라 findByLocationNear에서 findAllByLocationNear로 수정
codrin2 Nov 14, 2024
776d671
feat: 추천 핑들을 저장하는 API 및 서비스 로직 구현
codrin2 Nov 14, 2024
7ee5629
test(NonMemberControllerTest): 추가된 API 및 기존 테스트 코드에 추가된 사항 반영
codrin2 Nov 14, 2024
daee863
docs: 추가된 테스트 코드 restdocs에 추가
codrin2 Nov 14, 2024
7fe3abb
Merge pull request #51 from Team-pingping/feature/50-recommend-moping
codrin2 Nov 14, 2024
6a45145
fix:#52 recommendPings 타입 변경
sominyun Nov 16, 2024
58d912d
fix:#52 calculate 오타 수정
sominyun Nov 16, 2024
e530416
fix:#52 업종 추가
sominyun Nov 16, 2024
6ed347d
fix:#52 개별핑 response all과 통일
sominyun Nov 16, 2024
06e44b4
fix:#52 dto interface로 변경
sominyun Nov 16, 2024
18e5404
fix:#52 NONMEMBERID->NONMEMBER_ID
sominyun Nov 16, 2024
cb94944
feat:#52 비회원 프로필 불러오기
sominyun Nov 16, 2024
0e42978
feat:#52 비회원 프로필 불러오기 test code
sominyun Nov 16, 2024
869dd82
feat:#52 추천핑에도 업종 추가
sominyun Nov 16, 2024
ef1fbe1
Merge pull request #53 from Team-pingping/feature/52-ping-response
sominyun Nov 16, 2024
22a0db3
fix: 가게 bookmarkRepository save
sominyun Nov 19, 2024
9320738
feat: #54 개별핑에 모든 nonMember 추가
sominyun Nov 22, 2024
5c68045
Merge pull request #55 from Team-pingping/feature/nonMemberPing
sominyun Nov 22, 2024
98ecd7d
fix: 추천핑 반환 값 변경
codrin2 Nov 23, 2024
2a1c563
fix: 추천 핑 반환값 추가에 따른 테스트 코드 변경
codrin2 Nov 23, 2024
4886f0d
Merge pull request #57 from Team-pingping/fix/56-recommend-pings
codrin2 Nov 23, 2024
836c5d6
Update README.md
codrin2 Nov 23, 2024
8891426
docs(README): MySQL, MongoDB ERD 사진 수정
codrin2 Nov 23, 2024
63bb724
docs(README): 기술 스택 설명 변경
codrin2 Nov 24, 2024
31202b0
refactor: 메인 도메인에 맞춰 패키지 구조 변경
codrin2 Nov 26, 2024
c863e36
feat: Jwt 로직 Support-Module로 분리하여 구현
codrin2 Nov 26, 2024
07b2c72
feat: redis config 추가
codrin2 Nov 26, 2024
aea8dee
feat: 토큰 재발급 API 구현
codrin2 Nov 26, 2024
f3b05f9
feat: 로그인 로직에 토큰 발급 추가
codrin2 Nov 26, 2024
58bdabf
feat: Support module 추가에 따른 관련 module 업데이트
codrin2 Nov 26, 2024
0151ca1
fix: 패키지 변경에 따른 api url 변경
codrin2 Nov 26, 2024
26adbf1
test: 패키지 변경 및 기능 추가에 따른 테스트 코드 작성
codrin2 Nov 26, 2024
b97fa98
docs: 코드 변경에 따른 restdoc adoc 수정
codrin2 Nov 26, 2024
26723df
feat: Jwt 및 Redis 환경변수 추가
codrin2 Nov 26, 2024
1b18e07
fix: 토큰 처리 로그 삭제
codrin2 Nov 26, 2024
cd5d52a
refactor: JwtProvider 책임 소재에 맞게 클래스 분리
codrin2 Nov 26, 2024
89632b1
feat: 토큰 발급 로그인 API 구현
codrin2 Nov 26, 2024
0eca411
test: 토큰 발급 로그인 테스트 코드 작성
codrin2 Nov 26, 2024
fb91b1d
docs: 토큰 발급 로그인 restdocs 설정
codrin2 Nov 26, 2024
e749bf0
feat: LoginTokenNonMember Dto 추가
codrin2 Nov 26, 2024
956a13b
Merge pull request #59 from Team-pingping/58/feature-login-token
codrin2 Nov 26, 2024
eb097b7
feat: NonMemberPlace column으로 placeType 추가
codrin2 Nov 26, 2024
383296c
feat: 멤버 핑 추가를 위한 repository 단 구현
codrin2 Nov 26, 2024
8506604
feat: enums common 레이어에 추가
codrin2 Nov 26, 2024
ec4fba1
feat: 멤버 핑 추가 application service 구현
codrin2 Nov 26, 2024
f807152
feat: 멤버 핑 추가 로직 중 domain 특화 로직 분리
codrin2 Nov 26, 2024
0d4457f
feat: 멤버 핑 추가 API 구현
codrin2 Nov 26, 2024
a60a926
test: 멤버 핑 추가 기능 테스트 코드 작성
codrin2 Nov 26, 2024
49a2a8d
docs: 멤버 핑 추가 기능 restdoc API 명세화 설정
codrin2 Nov 26, 2024
11ef15e
fix: 토큰 검증 예외처리 로직 수정
codrin2 Nov 26, 2024
e8b1167
feat: #60 토큰에서 nonMemberId 추출
sominyun Nov 27, 2024
197356d
feat: #60 헤더에서 nonMemberId 추출
sominyun Nov 27, 2024
0e23ba1
fix: #60 request에 nonMemberId 제거
sominyun Nov 27, 2024
cb5b813
fix: #60 api 명세서 수정
sominyun Nov 27, 2024
67f81a7
fix: #60 unused import
sominyun Nov 27, 2024
f99fe82
Merge pull request #61 from Team-pingping/60/feature-ping-member
sominyun Nov 27, 2024
6c5614f
feat: 검색 기능 개선이 필요한 키워드 Provider 구현
codrin2 Nov 27, 2024
c90e6af
feat: searchPlace 검색 기능 개선 로직 추가
codrin2 Nov 27, 2024
0f1fc8b
fix: 을지로 매칭 값으로 을지로4가 추가
codrin2 Nov 27, 2024
3949857
Merge pull request #63 from Team-pingping/feature/62-place-search
codrin2 Nov 27, 2024
0faef98
feat: #64 업종 크롤링
sominyun Nov 27, 2024
7d01878
Merge pull request #65 from Team-pingping/feature/64-ping-type
sominyun Nov 27, 2024
347b0e9
feat: #66 ping response에 sid 추가
sominyun Nov 27, 2024
3300403
feat: #66 ping response에 sid 추가 api 명세서 수정
sominyun Nov 27, 2024
610d946
docs(REAEME): 팀 소개 및 자료 수정
codrin2 Nov 27, 2024
0fbfcef
docs(README): 서비스 기능 내용 추가
codrin2 Nov 27, 2024
7f3c6dc
Merge pull request #67 from Team-pingping/feature/66-response-sid
sominyun Nov 27, 2024
5c60d8a
docs(README): 맡은 역할 내용 수정
codrin2 Nov 27, 2024
145aed8
docs(README): 시스템 아키텍처 수정
codrin2 Nov 27, 2024
2760d04
feat: nonMemberPlace repository delete 메서드 추가
codrin2 Nov 28, 2024
7b2d6e2
feat: 멤버의 특정 핑 삭제 서비스 로직 구현
codrin2 Nov 28, 2024
7d9e643
fix: bookmark 예외처리 더 명확하게 수정
codrin2 Nov 28, 2024
2b2884a
feat: 멤버의 특정 핑 삭제 API
codrin2 Nov 28, 2024
093010e
test: 멤버의 특정 핑 삭제 API 테스트 코드 작성
codrin2 Nov 28, 2024
626bd8e
docs: 추가된 API restdocs에 반영
codrin2 Nov 28, 2024
17c89a0
Merge pull request #69 from Team-pingping/featur/68-delete-ping
codrin2 Nov 28, 2024
79fc0fd
hoxfix: 불필요한 의존성 삭제
sominyun Nov 28, 2024
c4edf0c
docs: 리드미 api 명세서 수정
sominyun Nov 28, 2024
84e9be5
docs: 필요한 헤더요구사항 명세서에 추가
sominyun Nov 28, 2024
857b11b
Merge pull request #70 from Team-pingping/docs/readme-api
codrin2 Nov 28, 2024
30b5922
Update README.md
sominyun Nov 28, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: ''
assignees: ''

---

## 어떤 버그인가요?

> 어떤 버그인지 간결하게 설명해주세요

## 어떤 상황에서 발생한 버그인가요?

> (가능하면) Given-When-Then 형식으로 서술해주세요

## 예상 결과

> 예상했던 정상적인 결과가 어떤 것이었는지 설명해주세요

## 참고할만한 자료(선택)
20 changes: 20 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: ''
assignees: ''

---

## 어떤 기능인가요?

> 추가하려는 기능에 대해 간결하게 설명해주세요

## 작업 상세 내용

- [ ] TODO
- [ ] TODO
- [ ] TODO

## 참고할만한 자료(선택)
13 changes: 13 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
## #️⃣연관된 이슈

> ex) #이슈번호, #이슈번호

## 📝작업 내용

> 이번 PR에서 작업한 내용을 간략히 설명해주세요(이미지 첨부 가능)

### 스크린샷 (선택)

## 💬리뷰 요구사항(선택)

> 리뷰어가 특별히 봐주었으면 하는 부분이 있다면 작성해주세요
10 changes: 9 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -43,4 +43,12 @@ out/
.DS_Store

### applicaion 제외 ###
src/main/resources/application.yaml
src/main/resources/application.yaml
Ping-Api/src/main/resources/application.yaml

### rest docs ###
**/src/main/resources/static/docs/
Ping-Api/src/main/resources/static/swagger/openapi3.yaml

### docker compose ###
docker-compose.yaml
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

마지막줄에 개행 신경써주시면 좋을거 같습니다!
스크린샷 2024-11-08 오후 8 33 55

1 change: 1 addition & 0 deletions Ping-Api/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
plugins { `java-test-fixtures` id("org.asciidoctor.jvm.convert") version "3.3.2" id("com.epages.restdocs-api-spec") version "0.17.1"}repositories { mavenCentral()}val asciidoctorExt = "asciidoctorExt"configurations.create(asciidoctorExt) { extendsFrom(configurations.testImplementation.get())}dependencies { implementation(project(":Ping-Application")) implementation(project(":Ping-Common")) implementation(project(":Ping-Domain")) implementation(project(":Ping-Infra")) implementation(project(":Ping-Client")) implementation(project(":Ping-Support")) implementation("org.springframework.boot:spring-boot-starter-data-mongodb") testImplementation("com.epages:restdocs-api-spec-mockmvc:0.19.2") testImplementation("org.springframework.restdocs:spring-restdocs-mockmvc") asciidoctorExt("org.springframework.restdocs:spring-restdocs-asciidoctor") testFixturesImplementation("org.springframework.restdocs:spring-restdocs-mockmvc") testImplementation("com.epages:restdocs-api-spec-mockmvc:0.17.1") testImplementation("org.mockito.kotlin:mockito-kotlin:4.0.0")}tasks { bootJar { isEnabled = true } jar { isEnabled = true }}val snippetDir = file("build/generated-snippets")tasks.asciidoctor { inputs.dir(snippetDir) dependsOn(tasks.test) configurations(asciidoctorExt) baseDirFollowsSourceFile()}tasks.bootJar{ dependsOn(tasks.asciidoctor) from("build/docs/asciidoc"){ into("static/docs") }}tasks.register("copyDocs", Copy::class){ dependsOn(tasks.bootJar) from("build/docs/asciidoc") into("src/main/resources/static/docs")}tasks.build { dependsOn(tasks.getByName("copyDocs"))}openapi3 { this.setServer("https://localhost:8080") title = "Moping API" description = "모핑 API 명세서 입니다" version = "1.0.0" format = "yaml"}tasks.bootJar{ dependsOn("openapi3") from("build/api-spec") { into("static/swagger") }}tasks.register("copyYaml", Copy::class){ dependsOn("openapi3") from("build/api-spec") into("src/main/resources/static/swagger")}tasks.build { dependsOn(tasks.getByName("copyYaml"))}
Expand Down
6 changes: 6 additions & 0 deletions Ping-Api/src/docs/asciidoc/Auth.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
[[Auth-API]]
== Auth API

[[Post-ReissueToken]]
=== 토큰 재발급
operation::AuthControllerTest/reissueToken[snippets='http-request,http-response,request-headers,response-fields']
6 changes: 6 additions & 0 deletions Ping-Api/src/docs/asciidoc/Event.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
[[Events-API]]
== Events API

[[Post-Event]]
=== 이벤트 생성
operation::EventControllerTest/createEvent[snippets='http-request,request-fields,http-response,response-fields']
14 changes: 14 additions & 0 deletions Ping-Api/src/docs/asciidoc/NonMember.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
[[NonMembers-API]]
== NonMembers API

[[Post-NonMemberLogin]]
=== 비회원 로그인
operation::NonMemberControllerTest/loginNonMember[snippets='http-request,request-fields,http-response']

[[Post-NonMemberLoginWithToken]]
=== 비회원 로그인 (토큰 발급)
operation::NonMemberControllerTest/loginNonMemberWithToken[snippets='http-request,request-fields,http-response,response-fields']

[[Get-NonMemberProfile]]
=== 비회원 프로필 불러오기
operation::NonMemberControllerTest/getNonMemberProfile[snippets='http-request,http-response,response-fields']
46 changes: 46 additions & 0 deletions Ping-Api/src/docs/asciidoc/Pings.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
[[Pings-API]]
== Pings API

[[Post-IsCorrectBookmarkUrl]]
=== 유효한 북마크 링크
operation::PingControllerTest/isCorrectBookmarkUrl[snippets='http-request,http-response,request-fields,request-body']

[[List-IsCorrectStoreUrl]]
=== 유효한 가게 링크
operation::PingControllerTest/isCorrectStoreUrl[snippets='http-request,http-response,request-fields,request-body']

[[Post-NonMemberPings]]
=== 비회원 핑 생성
operation::PingControllerTest/createNonMemberPings[snippets='http-request,request-fields,http-response']

[[Post-SaveMemberPing]]
=== 회원 핑 저장
operation::PingControllerTest/saveMemberPing[snippets='http-request,http-response,request-headers,request-fields']

[[Post-RecommendPings]]
=== 추천 핑 저장
operation::PingControllerTest/saveRecommendPings[snippets='http-request,http-response,request-fields,response-fields']

[[Get-NonMemberPings]]
=== 전체 핑 불러오기
operation::PingControllerTest/getAllNonMemberPings[snippets='http-request,http-response,query-parameters,response-body,response-fields']

[[Get-NonMemberPing]]
=== 개별 핑 불러오기
operation::PingControllerTest/getNonMemberPing[snippets='http-request,http-response,response-fields']

[[Get-RecommendPings]]
=== 추천 핑 불러오기
operation::PingControllerTest/getRecommendPings[snippets='http-request,http-response,query-parameters,response-fields']

[[Put-UpdateNonMemberPings]]
=== 비회원 핑 업데이트
operation::PingControllerTest/updateNonMemberPings[snippets='http-request,request-fields,http-response']

[[Get-RefreshAllNonMemberPings]]
=== 비회원 모든 핑 갱신
operation::PingControllerTest/refreshAllNonMemberPings[snippets='http-request,http-response,query-parameters,response-fields']

[[Delete-MemberPing]]
=== 회원 핑 삭제
operation::PingControllerTest/deletePing[snippets='http-request,http-response,request-headers,request-fields']
14 changes: 14 additions & 0 deletions Ping-Api/src/docs/asciidoc/Place.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
[[Places-API]]
== Places API

[[Search-Place]]
=== 장소 검색
operation::PlaceControllerTest/searchPlace[snippets='http-request,query-parameters,http-response,response-body,response-fields']

[[Geocode-Place]]
=== 주소로 좌표 검색
operation::PlaceControllerTest/getGeocodePlace[snippets='http-request,query-parameters,http-response,response-body,response-fields']

[[Reverse-Geocode-Place]]
=== 도로명 주소 조회
operation::PlaceControllerTest/getReverseGeocode[snippets='http-request,query-parameters,http-response,response-body,response-fields']
13 changes: 13 additions & 0 deletions Ping-Api/src/docs/asciidoc/index.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
= Moping-Backend API Docs
:doctype: book
:icons: font
:source-highlighter: highlightjs
:toc: left
:toclevels: 2
:sectlinks:

include::Event.adoc[]
include::Auth.adoc[]
include::NonMember.adoc[]
include::Place.adoc[]
include::Pings.adoc[]
27 changes: 27 additions & 0 deletions Ping-Api/src/main/kotlin/com/ping/api/PingApplication.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package com.ping.api

import org.springframework.boot.autoconfigure.SpringBootApplication
import org.springframework.boot.context.properties.ConfigurationPropertiesScan
import org.springframework.boot.runApplication
import org.springframework.data.mongodb.repository.config.EnableMongoRepositories
import org.springframework.scheduling.annotation.EnableScheduling

@EnableScheduling
@ConfigurationPropertiesScan
@EnableMongoRepositories(basePackages = ["com.ping.infra"])
@SpringBootApplication(
scanBasePackages = [
"com.ping.api",
"com.ping.application",
"com.ping.common",
"com.ping.domain",
"com.ping.infra",
"com.ping.client",
"com.ping.support",
]
)
class PingApplication

fun main(args: Array<String>) {
runApplication<PingApplication>(*args)
}
5 changes: 5 additions & 0 deletions Ping-Api/src/main/kotlin/com/ping/api/event/EventApi.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
package com.ping.api.event

object EventApi {
const val BASE_URL = "/event"
}
22 changes: 22 additions & 0 deletions Ping-Api/src/main/kotlin/com/ping/api/event/EventController.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package com.ping.api.event

import com.ping.application.event.service.EventService
import com.ping.application.event.dto.CreateEvent
import com.ping.common.exception.SuccessResponse
import io.swagger.v3.oas.annotations.tags.Tag
import org.springframework.http.HttpStatus
import org.springframework.http.ResponseEntity
import org.springframework.web.bind.annotation.PostMapping
import org.springframework.web.bind.annotation.RequestBody
import org.springframework.web.bind.annotation.RestController

@RestController
class EventController(
private val eventService: EventService,
) {
@PostMapping(EventApi.BASE_URL)
fun create(@RequestBody request: CreateEvent.Request): ResponseEntity<SuccessResponse<CreateEvent.Response>> {
val response = eventService.create(request)
return ResponseEntity.ok(SuccessResponse.of(HttpStatus.OK, "공유 URL이 성공적으로 생성되었습니다.", response))
}
}
8 changes: 8 additions & 0 deletions Ping-Api/src/main/kotlin/com/ping/api/event/PlaceApi.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package com.ping.api.event

object PlaceApi {
const val BASE_URL = "/places"
const val SEARCH = "$BASE_URL/search"
const val GEOCODE = "$BASE_URL/geocode"
const val REVERSE_GEOCODE = "$BASE_URL/reverse-geocode"
}
35 changes: 35 additions & 0 deletions Ping-Api/src/main/kotlin/com/ping/api/event/PlaceController.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
package com.ping.api.event

import com.ping.application.event.service.PlaceService
import com.ping.application.event.dto.GeocodePlace
import com.ping.application.event.dto.SearchPlace
import com.ping.common.exception.SuccessResponse
import org.springframework.http.HttpStatus
import org.springframework.http.ResponseEntity
import org.springframework.web.bind.annotation.GetMapping
import org.springframework.web.bind.annotation.RequestParam
import org.springframework.web.bind.annotation.RestController

@RestController
class PlaceController(
private val placeService: PlaceService,
) {

@GetMapping(PlaceApi.SEARCH)
fun searchPlace(@RequestParam("keyword") keyword: String): ResponseEntity<SuccessResponse<List<SearchPlace.Response>>> {
val response = placeService.searchPlace(keyword);
return ResponseEntity.ok(SuccessResponse.of(HttpStatus.OK, "장소 검색 성공", response))
}

@GetMapping(PlaceApi.GEOCODE)
fun getGeocodePlace(@RequestParam("address") address: String): ResponseEntity<SuccessResponse<GeocodePlace.Response>> {
val response = placeService.getGeocodeAddress(address)
return ResponseEntity.ok(SuccessResponse.of(HttpStatus.OK, "좌표 검색 성공", response))
}

@GetMapping(PlaceApi.REVERSE_GEOCODE)
fun getReverseGeocode(@RequestParam("px") px: Double, @RequestParam("py") py: Double): ResponseEntity<SuccessResponse<String?>> {
val response = placeService.getReverseGeocode(px, py)
return ResponseEntity.ok(SuccessResponse.of(HttpStatus.OK, "도로명 주소 조회 성공", response))
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package com.ping.api.global

import org.springframework.context.annotation.Configuration
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer

@Configuration
class StaticRoutingConfig : WebMvcConfigurer {
override fun addResourceHandlers(registry: ResourceHandlerRegistry) {
registry.addResourceHandler("/static/swagger/**").addResourceLocations("classpath:/static/swagger/")
registry.addResourceHandler("swagger-ui.html").addResourceLocations("classpath:/static/swagger/swagger-ui/")
}
}
6 changes: 6 additions & 0 deletions Ping-Api/src/main/kotlin/com/ping/api/member/AuthApi.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
package com.ping.api.member

object AuthApi {
const val BASE_URL = "/auth"
const val REISSUE = "$BASE_URL/reissue"
}
18 changes: 18 additions & 0 deletions Ping-Api/src/main/kotlin/com/ping/api/member/AuthController.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package com.ping.api.member

import com.ping.application.member.dto.TokenResponse
import com.ping.application.member.service.AuthService
import jakarta.servlet.http.HttpServletRequest
import org.springframework.http.ResponseEntity
import org.springframework.web.bind.annotation.*

@RestController
class AuthController(
private val authService: AuthService
) {
@PostMapping(AuthApi.REISSUE)
fun reissueToken(request: HttpServletRequest): TokenResponse {
val newAccessToken = authService.reissueToken(request)
return newAccessToken
}
}
8 changes: 8 additions & 0 deletions Ping-Api/src/main/kotlin/com/ping/api/member/NonMemberApi.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package com.ping.api.member

object NonMemberApi {
const val BASE_URL = "/nonmembers"
const val LOGIN = "$BASE_URL/login"
const val LOGIN_TOKEN = "$BASE_URL/login-token"
const val NONMEMBER_ID = "$BASE_URL/{nonMemberId}"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
package com.ping.api.member

import com.ping.application.member.dto.GetNonMemberProfile
import com.ping.application.member.dto.LoginNonMember
import com.ping.application.member.dto.LoginTokenNonMember
import com.ping.application.member.service.NonMemberService
import com.ping.application.ping.dto.*
import org.springframework.web.bind.annotation.*

@RestController
class NonMemberController(
private val nonMemberService: NonMemberService
) {
@PutMapping(NonMemberApi.LOGIN)
fun loginNonMember(@RequestBody request: LoginNonMember.Request): LoginNonMember.Response {
return nonMemberService.login(request)
}
@PostMapping(NonMemberApi.LOGIN_TOKEN)
fun loginNonMemberWithToken(@RequestBody request: LoginNonMember.Request): LoginTokenNonMember.Response {
return nonMemberService.loginWithToken(request)
}
@GetMapping(NonMemberApi.NONMEMBER_ID)
fun getNonMemberProfile(@PathVariable nonMemberId: Long): GetNonMemberProfile.Response {
return nonMemberService.getNonMemberProfile(nonMemberId)
}
}
11 changes: 11 additions & 0 deletions Ping-Api/src/main/kotlin/com/ping/api/ping/PingApi.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package com.ping.api.ping

object PingApi {
const val BASE_URL = "/pings"
const val BOOKMARK = "$BASE_URL/bookmark"
const val STORE = "$BASE_URL/store"
const val PING_NONMEMBER_ID = "$BASE_URL/{nonMemberId}"
const val PING_REFRESH_ALL = "$BASE_URL/refresh-all"
const val PING_RECOMMEND = "$BASE_URL/recommend"
const val PING_MEMBER = "$BASE_URL/member"
}
Loading