Skip to content

Workout-Study/WorkoutStudy_Backend_Fit_Group

Repository files navigation

WorkoutStudy_Backend_Fit_Group_Service

Intro

Fit-Mate App Aplication

  • 이 서비스는 위 Fit mate 프로젝트의 운동 그룹 관리, 운동 멤버 관리 역할을 담당하는 서비스 입니다.

Period

Version 1.0.0 : 2024.03.08 ~ 2024.04.20
Version 2.0.0 : 2024.05.01 ~

Architecture

Used Tools

Application


Database

Infra

Test

Docs

Cloud

Communication

Git Strategy

  • Git flow

API document

환경 url

테스트

http://127.0.0.1

운영서버

http://52.78.208.77

http-request

POST /fit-group-service/groups HTTP/1.1
Content-Type: application/json;charset=UTF-8
Accept: application/json
Content-Length: 492
Host: localhost:8080

{"requestUserId":"testUserId","fitGroupName":"헬창들은 일주일에 7번 운동해야죠 스터디","penaltyAmount":5000,"penaltyAccountBankCode":"090","penaltyAccountNumber":"3333-03-5367420","category":1,"introduction":"헬창들은 일주일에 7번은 운동해야한다고 생각합니다 당신도 헬창이 됩시다 근육 휴식따윈 생각도 마십쇼","cycle":null,"frequency":7,"maxFitMate":20,"multiMediaEndPoints":["https://avatars.githubusercontent.com/u/105261146?v=4"]}

request-fields

Path Type Description

requestUserId

String

Fit group을 등록하는 User id ( Fit Leader로 등록 )

fitGroupName

String

Fit group 이름

penaltyAmount

Number

운동 미인증 패널티 금액

penaltyAccountBankCode

String

운동 미인증 패널티 입금 은행

penaltyAccountNumber

String

운동 미인증 패널티 입금 계좌

category

Number

운동 category ( 1: 등산, 2: 생활 체육, 3: 웨이트, 4: 수영, 5: 축구, 6: 농구, 7: 야구, 8: 바이킹, 9: 클라이밍, 10: 기타 )

introduction

String

스터디 설명

cycle

Null

운동 인증 주기 ( null시 기본값 일주일 - 1: 일주일, 2: 한달, 3: 일년 )

frequency

Number

주기별 운동 인증 필요 횟수

maxFitMate

Number

fit group의 최대 fit mate 수

multiMediaEndPoints

Array

멀티 미디어 end point list ( 주어진 index 순으로 return )

request-body

{"requestUserId":"testUserId","fitGroupName":"헬창들은 일주일에 7번 운동해야죠 스터디","penaltyAmount":5000,"penaltyAccountBankCode":"090","penaltyAccountNumber":"3333-03-5367420","category":1,"introduction":"헬창들은 일주일에 7번은 운동해야한다고 생각합니다 당신도 헬창이 됩시다 근육 휴식따윈 생각도 마십쇼","cycle":null,"frequency":7,"maxFitMate":20,"multiMediaEndPoints":["https://avatars.githubusercontent.com/u/105261146?v=4"]}

curl-request

$ curl 'http://localhost:8080/fit-group-service/groups' -i -X POST \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -H 'Accept: application/json' \
    -d '{"requestUserId":"testUserId","fitGroupName":"헬창들은 일주일에 7번 운동해야죠 스터디","penaltyAmount":5000,"penaltyAccountBankCode":"090","penaltyAccountNumber":"3333-03-5367420","category":1,"introduction":"헬창들은 일주일에 7번은 운동해야한다고 생각합니다 당신도 헬창이 됩시다 근육 휴식따윈 생각도 마십쇼","cycle":null,"frequency":7,"maxFitMate":20,"multiMediaEndPoints":["https://avatars.githubusercontent.com/u/105261146?v=4"]}'

response-fields

Path Type Description

isRegisterSuccess

Boolean

등록 성공 여부

response-body

{"isRegisterSuccess":true}

http-response

HTTP/1.1 201 Created
Content-Length: 26
Content-Type: application/json

{"isRegisterSuccess":true}

path-parameters

Table 1. /fit-group-service/groups/{fit-group-id}
Parameter Description

fit-group-id

조회할 Fit group id

http-request

GET /fit-group-service/groups/1 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Accept: application/json
Host: localhost:8080

curl-request

$ curl 'http://localhost:8080/fit-group-service/groups/1' -i -X GET \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -H 'Accept: application/json'

response-fields

Path Type Description

fitGroupId

Number

Fit group id

fitLeaderUserId

String

Fit Leader User id

fitGroupName

String

Fit group 이름

penaltyAmount

Number

운동 미인증 패널티 금액

penaltyAccountBankCode

String

운동 미인증 패널티 입금 은행

penaltyAccountNumber

String

운동 미인증 패널티 입금 계좌

category

Number

운동 category ( 1: 등산, 2: 생활 체육, 3: 웨이트, 4: 수영, 5: 축구, 6: 농구, 7: 야구, 8: 바이킹, 9: 클라이밍, 10: 기타 )

introduction

String

스터디 설명

cycle

Number

운동 인증 주기 ( 1: 일주일, 2: 한달, 3: 일년 )

frequency

Number

주기별 운동 인증 필요 횟수

createdAt

String

등록 일시

presentFitMateCount

Number

현재 fit mate 수

maxFitMate

Number

fit group의 최대 fit mate 수

multiMediaEndPoints

Array

멀티 미디어 end point list

state

Boolean

fit group의 상태 (false: 정상, true: 삭제)

response-body

{"presentFitMateCount":7,"multiMediaEndPoints":["https://avatars.githubusercontent.com/u/105261146?v=4"],"fitGroupId":1,"fitLeaderUserId":"testUserId","fitGroupName":" 뿬李쎈뱾    씪二쇱씪 뿉 7踰   슫 룞 빐 빞二   뒪 꽣 뵒","penaltyAmount":5000,"penaltyAccountBankCode":"090","penaltyAccountNumber":"3333-03-5367420","category":1,"introduction":" 뿬李쎈뱾    씪二쇱씪 뿉 7踰덉   슫 룞 빐 빞 븳 떎怨   깮媛곹빀 땲 떎  떦 떊 룄  뿬李쎌씠  맗 떆 떎 洹쇱쑁  쑕 떇 뵲 쐢  깮媛곷룄 留덉떗 눥","cycle":1,"frequency":7,"createdAt":"2024-04-18T01:59:02.819554300Z","maxFitMate":20,"state":false}

http-response

HTTP/1.1 200 OK
Content-Length: 589
Content-Type: application/json

{"presentFitMateCount":7,"multiMediaEndPoints":["https://avatars.githubusercontent.com/u/105261146?v=4"],"fitGroupId":1,"fitLeaderUserId":"testUserId","fitGroupName":"헬창들은 일주일에 7번 운동해야죠 스터디","penaltyAmount":5000,"penaltyAccountBankCode":"090","penaltyAccountNumber":"3333-03-5367420","category":1,"introduction":"헬창들은 일주일에 7번은 운동해야한다고 생각합니다 당신도 헬창이 됩시다 근육 휴식따윈 생각도 마십쇼","cycle":1,"frequency":7,"createdAt":"2024-04-18T01:59:02.819554300Z","maxFitMate":20,"state":false}

path-parameters

Table 2. /fit-group-service/groups/{fit-group-id}
Parameter Description

fit-group-id

수정할 Fit group id

http-request

PUT /fit-group-service/groups/1 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Accept: application/json
Content-Length: 492
Host: localhost:8080

{"requestUserId":"testUserId","fitGroupName":"헬창들은 일주일에 7번 운동해야죠 스터디","penaltyAmount":5000,"penaltyAccountBankCode":"090","penaltyAccountNumber":"3333-03-5367420","category":1,"introduction":"헬창들은 일주일에 7번은 운동해야한다고 생각합니다 당신도 헬창이 됩시다 근육 휴식따윈 생각도 마십쇼","cycle":null,"frequency":7,"maxFitMate":20,"multiMediaEndPoints":["https://avatars.githubusercontent.com/u/105261146?v=4"]}

request-fields

Path Type Description

requestUserId

String

수정을 요청한 User id ( Fit Leader여야함 )

fitGroupName

String

수정할 Fit group 이름

penaltyAmount

Number

수정할 운동 미인증 패널티 금액

penaltyAccountBankCode

String

수정할 운동 미인증 패널티 입금 은행

penaltyAccountNumber

String

수정할 운동 미인증 패널티 입금 계좌

category

Number

수정할 운동 category ( 1: 등산, 2: 생활 체육, 3: 웨이트, 4: 수영, 5: 축구, 6: 농구, 7: 야구, 8: 바이킹, 9: 클라이밍, 10: 기타 )

introduction

String

수정할 스터디 설명

cycle

Null

수정할 운동 인증 주기 ( null시 기본값 일주일 - 1: 일주일, 2: 한달, 3: 일년 )

frequency

Number

수정할 주기별 운동 인증 필요 횟수

maxFitMate

Number

fit group의 최대 fit mate 수

multiMediaEndPoints

Array

멀티 미디어 end point list ( 기존 기등록 멀티 미디어 list 미포함시 삭제 )

request-body

{"requestUserId":"testUserId","fitGroupName":"헬창들은 일주일에 7번 운동해야죠 스터디","penaltyAmount":5000,"penaltyAccountBankCode":"090","penaltyAccountNumber":"3333-03-5367420","category":1,"introduction":"헬창들은 일주일에 7번은 운동해야한다고 생각합니다 당신도 헬창이 됩시다 근육 휴식따윈 생각도 마십쇼","cycle":null,"frequency":7,"maxFitMate":20,"multiMediaEndPoints":["https://avatars.githubusercontent.com/u/105261146?v=4"]}

curl-request

$ curl 'http://localhost:8080/fit-group-service/groups/1' -i -X PUT \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -H 'Accept: application/json' \
    -d '{"requestUserId":"testUserId","fitGroupName":"헬창들은 일주일에 7번 운동해야죠 스터디","penaltyAmount":5000,"penaltyAccountBankCode":"090","penaltyAccountNumber":"3333-03-5367420","category":1,"introduction":"헬창들은 일주일에 7번은 운동해야한다고 생각합니다 당신도 헬창이 됩시다 근육 휴식따윈 생각도 마십쇼","cycle":null,"frequency":7,"maxFitMate":20,"multiMediaEndPoints":["https://avatars.githubusercontent.com/u/105261146?v=4"]}'

response-fields

Path Type Description

isUpdateSuccess

Boolean

수정 성공 여부

response-body

{"isUpdateSuccess":true}

http-response

HTTP/1.1 200 OK
Content-Length: 24
Content-Type: application/json

{"isUpdateSuccess":true}

path-parameters

Table 3. /fit-group-service/groups/{fit-group-id}
Parameter Description

fit-group-id

삭제할 Fit group id

http-request

DELETE /fit-group-service/groups/1 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Accept: application/json
Content-Length: 30
Host: localhost:8080

{"requestUserId":"testUserId"}

request-fields

Path Type Description

requestUserId

String

삭제를 요청한 User id ( Fit Leader여야함 )

request-body

{"requestUserId":"testUserId"}

curl-request

$ curl 'http://localhost:8080/fit-group-service/groups/1' -i -X DELETE \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -H 'Accept: application/json' \
    -d '{"requestUserId":"testUserId"}'

response-fields

Path Type Description

isDeleteSuccess

Boolean

삭제 성공 여부

response-body

{"isDeleteSuccess":true}

http-response

HTTP/1.1 200 OK
Content-Length: 24
Content-Type: application/json

{"isDeleteSuccess":true}

http-request

GET /fit-group-service/groups/filters?withMaxGroup=false&category=1&pageNumber=1&pageSize=5 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Accept: application/json
Host: localhost:8080

curl-request

$ curl 'http://localhost:8080/fit-group-service/groups/filters?withMaxGroup=false&category=1&pageNumber=1&pageSize=5' -i -X GET \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -H 'Accept: application/json'

response-fields

Path Type Description

content[]

Array

fit group List

content[].fitGroupId

Number

fit group의 id

content[].fitLeaderUserId

String

fit group의 leader user id

content[].fitGroupName

String

fit group의 이름

content[].penaltyAmount

Number

fit group의 패널티 금액

content[].penaltyAccountBankCode

String

fit group의 패널티 입금 계좌 은행코드

content[].penaltyAccountNumber

String

fit group의 패널티 입금 계좌번호

content[].category

Number

fit group의 카테고리 ( 1:헬스, 2:축구, 3:농구, 4:야구, 5: 클라이밍, 6: 배드민턴, 7: 필라테스, 10: 기타 )

content[].introduction

String

fit group의 소개글

content[].cycle

Number

fit group의 운동 인증 주기 ( null시 기본값 일주일 - 1: 일주일, 2: 한달, 3: 일년 )

content[].frequency

Number

fit group의 주기별 인증 필요 횟수

content[].maxFitMate

Number

fit group최대 인원 수

content[].presentFitMateCount

Number

fit group현재 인원 수

content[].multiMediaEndPoints

Array

fit group 멀티 미디어 end point list ( 주어진 index 순으로 return )

content[].state

Boolean

fit group의 상태 (false: 정상, true: 삭제)

content[].createdAt

String

fit group 생성 일자

pageable

Object

pageable object

pageable.pageNumber

Number

조회 페이지 번호

pageable.pageSize

Number

조회 한 size

pageable.sort

Object

sort object

pageable.sort.empty

Boolean

sort 요청 여부

pageable.sort.sorted

Boolean

sort 여부

pageable.sort.unsorted

Boolean

unsort 여부

pageable.offset

Number

대상 시작 번호

pageable.unpaged

Boolean

unpaged

pageable.paged

Boolean

paged

size

Number

List 크기

number

Number

조회 페이지 번호

sort

Object

sort object

sort.empty

Boolean

sort 요청 여부

sort.sorted

Boolean

sort 여부

sort.unsorted

Boolean

unsort 여부

numberOfElements

Number

numberOfElements

first

Boolean

처음인지 여부

last

Boolean

마지막인지 여부

empty

Boolean

비어있는지 여부

response-body

{"content":[{"presentFitMateCount":8,"multiMediaEndPoints":["https://avatars.githubusercontent.com/u/105261146?v=4"],"fitGroupId":2,"fitLeaderUserId":"testUserId1","fitGroupName":" 뿬李쎈뱾    씪二쇱씪 뿉 7踰   슫 룞 빐 빞二   뒪 꽣 뵒1","penaltyAmount":5001,"penaltyAccountBankCode":"090","penaltyAccountNumber":"3333-03-53674201","category":1,"introduction":" 뿬李쎈뱾    씪二쇱씪 뿉 7踰덉   슫 룞 빐 빞 븳 떎怨   깮媛곹빀 땲 떎  떦 떊 룄  뿬李쎌씠  맗 떆 떎 洹쇱쑁  쑕 떇 뵲 쐢  깮媛곷룄 留덉떗 눥1","cycle":1,"frequency":7,"createdAt":"2024-04-18T01:59:09.735081200Z","maxFitMate":21,"state":false},{"presentFitMateCount":9,"multiMediaEndPoints":["https://avatars.githubusercontent.com/u/105261146?v=4"],"fitGroupId":3,"fitLeaderUserId":"testUserId2","fitGroupName":" 뿬李쎈뱾    씪二쇱씪 뿉 7踰   슫 룞 빐 빞二   뒪 꽣 뵒2","penaltyAmount":5002,"penaltyAccountBankCode":"090","penaltyAccountNumber":"3333-03-53674202","category":1,"introduction":" 뿬李쎈뱾    씪二쇱씪 뿉 7踰덉   슫 룞 빐 빞 븳 떎怨   깮媛곹빀 땲 떎  떦 떊 룄  뿬李쎌씠  맗 떆 떎 洹쇱쑁  쑕 떇 뵲 쐢  깮媛곷룄 留덉떗 눥2","cycle":1,"frequency":7,"createdAt":"2024-04-18T01:59:09.735081200Z","maxFitMate":22,"state":false},{"presentFitMateCount":10,"multiMediaEndPoints":["https://avatars.githubusercontent.com/u/105261146?v=4"],"fitGroupId":4,"fitLeaderUserId":"testUserId3","fitGroupName":" 뿬李쎈뱾    씪二쇱씪 뿉 7踰   슫 룞 빐 빞二   뒪 꽣 뵒3","penaltyAmount":5003,"penaltyAccountBankCode":"090","penaltyAccountNumber":"3333-03-53674203","category":1,"introduction":" 뿬李쎈뱾    씪二쇱씪 뿉 7踰덉   슫 룞 빐 빞 븳 떎怨   깮媛곹빀 땲 떎  떦 떊 룄  뿬李쎌씠  맗 떆 떎 洹쇱쑁  쑕 떇 뵲 쐢  깮媛곷룄 留덉떗 눥3","cycle":1,"frequency":7,"createdAt":"2024-04-18T01:59:09.735081200Z","maxFitMate":23,"state":false},{"presentFitMateCount":11,"multiMediaEndPoints":["https://avatars.githubusercontent.com/u/105261146?v=4"],"fitGroupId":5,"fitLeaderUserId":"testUserId4","fitGroupName":" 뿬李쎈뱾    씪二쇱씪 뿉 7踰   슫 룞 빐 빞二   뒪 꽣 뵒4","penaltyAmount":5004,"penaltyAccountBankCode":"090","penaltyAccountNumber":"3333-03-53674204","category":1,"introduction":" 뿬李쎈뱾    씪二쇱씪 뿉 7踰덉   슫 룞 빐 빞 븳 떎怨   깮媛곹빀 땲 떎  떦 떊 룄  뿬李쎌씠  맗 떆 떎 洹쇱쑁  쑕 떇 뵲 쐢  깮媛곷룄 留덉떗 눥4","cycle":1,"frequency":7,"createdAt":"2024-04-18T01:59:09.735081200Z","maxFitMate":24,"state":false},{"presentFitMateCount":12,"multiMediaEndPoints":["https://avatars.githubusercontent.com/u/105261146?v=4"],"fitGroupId":6,"fitLeaderUserId":"testUserId5","fitGroupName":" 뿬李쎈뱾    씪二쇱씪 뿉 7踰   슫 룞 빐 빞二   뒪 꽣 뵒5","penaltyAmount":5005,"penaltyAccountBankCode":"090","penaltyAccountNumber":"3333-03-53674205","category":1,"introduction":" 뿬李쎈뱾    씪二쇱씪 뿉 7踰덉   슫 룞 빐 빞 븳 떎怨   깮媛곹빀 땲 떎  떦 떊 룄  뿬李쎌씠  맗 떆 떎 洹쇱쑁  쑕 떇 뵲 쐢  깮媛곷룄 留덉떗 눥5","cycle":1,"frequency":7,"createdAt":"2024-04-18T01:59:09.735081200Z","maxFitMate":25,"state":false}],"pageable":{"pageNumber":1,"pageSize":5,"sort":{"empty":true,"sorted":false,"unsorted":true},"offset":5,"unpaged":false,"paged":true},"size":5,"number":1,"sort":{"empty":true,"sorted":false,"unsorted":true},"first":false,"last":false,"numberOfElements":5,"empty":false}

http-response

HTTP/1.1 200 OK
Content-Length: 3255
Content-Type: application/json

{"content":[{"presentFitMateCount":8,"multiMediaEndPoints":["https://avatars.githubusercontent.com/u/105261146?v=4"],"fitGroupId":2,"fitLeaderUserId":"testUserId1","fitGroupName":"헬창들은 일주일에 7번 운동해야죠 스터디1","penaltyAmount":5001,"penaltyAccountBankCode":"090","penaltyAccountNumber":"3333-03-53674201","category":1,"introduction":"헬창들은 일주일에 7번은 운동해야한다고 생각합니다 당신도 헬창이 됩시다 근육 휴식따윈 생각도 마십쇼1","cycle":1,"frequency":7,"createdAt":"2024-04-18T01:59:09.735081200Z","maxFitMate":21,"state":false},{"presentFitMateCount":9,"multiMediaEndPoints":["https://avatars.githubusercontent.com/u/105261146?v=4"],"fitGroupId":3,"fitLeaderUserId":"testUserId2","fitGroupName":"헬창들은 일주일에 7번 운동해야죠 스터디2","penaltyAmount":5002,"penaltyAccountBankCode":"090","penaltyAccountNumber":"3333-03-53674202","category":1,"introduction":"헬창들은 일주일에 7번은 운동해야한다고 생각합니다 당신도 헬창이 됩시다 근육 휴식따윈 생각도 마십쇼2","cycle":1,"frequency":7,"createdAt":"2024-04-18T01:59:09.735081200Z","maxFitMate":22,"state":false},{"presentFitMateCount":10,"multiMediaEndPoints":["https://avatars.githubusercontent.com/u/105261146?v=4"],"fitGroupId":4,"fitLeaderUserId":"testUserId3","fitGroupName":"헬창들은 일주일에 7번 운동해야죠 스터디3","penaltyAmount":5003,"penaltyAccountBankCode":"090","penaltyAccountNumber":"3333-03-53674203","category":1,"introduction":"헬창들은 일주일에 7번은 운동해야한다고 생각합니다 당신도 헬창이 됩시다 근육 휴식따윈 생각도 마십쇼3","cycle":1,"frequency":7,"createdAt":"2024-04-18T01:59:09.735081200Z","maxFitMate":23,"state":false},{"presentFitMateCount":11,"multiMediaEndPoints":["https://avatars.githubusercontent.com/u/105261146?v=4"],"fitGroupId":5,"fitLeaderUserId":"testUserId4","fitGroupName":"헬창들은 일주일에 7번 운동해야죠 스터디4","penaltyAmount":5004,"penaltyAccountBankCode":"090","penaltyAccountNumber":"3333-03-53674204","category":1,"introduction":"헬창들은 일주일에 7번은 운동해야한다고 생각합니다 당신도 헬창이 됩시다 근육 휴식따윈 생각도 마십쇼4","cycle":1,"frequency":7,"createdAt":"2024-04-18T01:59:09.735081200Z","maxFitMate":24,"state":false},{"presentFitMateCount":12,"multiMediaEndPoints":["https://avatars.githubusercontent.com/u/105261146?v=4"],"fitGroupId":6,"fitLeaderUserId":"testUserId5","fitGroupName":"헬창들은 일주일에 7번 운동해야죠 스터디5","penaltyAmount":5005,"penaltyAccountBankCode":"090","penaltyAccountNumber":"3333-03-53674205","category":1,"introduction":"헬창들은 일주일에 7번은 운동해야한다고 생각합니다 당신도 헬창이 됩시다 근육 휴식따윈 생각도 마십쇼5","cycle":1,"frequency":7,"createdAt":"2024-04-18T01:59:09.735081200Z","maxFitMate":25,"state":false}],"pageable":{"pageNumber":1,"pageSize":5,"sort":{"empty":true,"sorted":false,"unsorted":true},"offset":5,"unpaged":false,"paged":true},"size":5,"number":1,"sort":{"empty":true,"sorted":false,"unsorted":true},"first":false,"last":false,"numberOfElements":5,"empty":false}

path-parameters

Table 4. /fit-group-service/groups/filters/{user-id}
Parameter Description

user-id

fit group 목록을 조회할 user id

http-request

GET /fit-group-service/groups/filters/testUserId HTTP/1.1
Content-Type: application/json;charset=UTF-8
Accept: application/json
Host: localhost:8080

curl-request

$ curl 'http://localhost:8080/fit-group-service/groups/filters/testUserId' -i -X GET \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -H 'Accept: application/json'

response-fields

Path Type Description

fitGroupDetails[]

Array

fit group List

fitGroupDetails[].fitGroupId

Number

fit group의 id

fitGroupDetails[].fitLeaderUserId

String

fit group의 leader user id

fitGroupDetails[].fitGroupName

String

fit group의 이름

fitGroupDetails[].penaltyAmount

Number

fit group의 패널티 금액

fitGroupDetails[].penaltyAccountBankCode

String

fit group의 패널티 입금 계좌 은행코드

fitGroupDetails[].penaltyAccountNumber

String

fit group의 패널티 입금 계좌번호

fitGroupDetails[].category

Number

fit group의 카테고리 ( 1:헬스, 2:축구, 3:농구, 4:야구, 5: 클라이밍, 6: 배드민턴, 7: 필라테스, 10: 기타 )

fitGroupDetails[].introduction

String

fit group의 소개글

fitGroupDetails[].cycle

Number

fit group의 운동 인증 주기 ( null시 기본값 일주일 - 1: 일주일, 2: 한달, 3: 일년 )

fitGroupDetails[].frequency

Number

fit group의 주기별 인증 필요 횟수

fitGroupDetails[].maxFitMate

Number

fit group최대 인원 수

fitGroupDetails[].presentFitMateCount

Number

fit group현재 인원 수

fitGroupDetails[].multiMediaEndPoints

Array

fit group 멀티 미디어 end point list ( 주어진 index 순으로 return )

fitGroupDetails[].state

Boolean

fit group의 상태 (false: 정상, true: 삭제)

fitGroupDetails[].createdAt

String

fit group 생성 일자

response-body

{"fitGroupDetails":[{"presentFitMateCount":8,"multiMediaEndPoints":["https://avatars.githubusercontent.com/u/105261146?v=4"],"fitGroupId":2,"fitLeaderUserId":"testUserId1","fitGroupName":" 뿬李쎈뱾    씪二쇱씪 뿉 7踰   슫 룞 빐 빞二   뒪 꽣 뵒1","penaltyAmount":5001,"penaltyAccountBankCode":"090","penaltyAccountNumber":"3333-03-53674201","category":1,"introduction":" 뿬李쎈뱾    씪二쇱씪 뿉 7踰덉   슫 룞 빐 빞 븳 떎怨   깮媛곹빀 땲 떎  떦 떊 룄  뿬李쎌씠  맗 떆 떎 洹쇱쑁  쑕 떇 뵲 쐢  깮媛곷룄 留덉떗 눥1","cycle":1,"frequency":7,"createdAt":"2024-04-18T01:59:09.604430200Z","maxFitMate":21,"state":false},{"presentFitMateCount":9,"multiMediaEndPoints":["https://avatars.githubusercontent.com/u/105261146?v=4"],"fitGroupId":3,"fitLeaderUserId":"testUserId2","fitGroupName":" 뿬李쎈뱾    씪二쇱씪 뿉 7踰   슫 룞 빐 빞二   뒪 꽣 뵒2","penaltyAmount":5002,"penaltyAccountBankCode":"090","penaltyAccountNumber":"3333-03-53674202","category":1,"introduction":" 뿬李쎈뱾    씪二쇱씪 뿉 7踰덉   슫 룞 빐 빞 븳 떎怨   깮媛곹빀 땲 떎  떦 떊 룄  뿬李쎌씠  맗 떆 떎 洹쇱쑁  쑕 떇 뵲 쐢  깮媛곷룄 留덉떗 눥2","cycle":1,"frequency":7,"createdAt":"2024-04-18T01:59:09.604430200Z","maxFitMate":22,"state":false},{"presentFitMateCount":10,"multiMediaEndPoints":["https://avatars.githubusercontent.com/u/105261146?v=4"],"fitGroupId":4,"fitLeaderUserId":"testUserId3","fitGroupName":" 뿬李쎈뱾    씪二쇱씪 뿉 7踰   슫 룞 빐 빞二   뒪 꽣 뵒3","penaltyAmount":5003,"penaltyAccountBankCode":"090","penaltyAccountNumber":"3333-03-53674203","category":1,"introduction":" 뿬李쎈뱾    씪二쇱씪 뿉 7踰덉   슫 룞 빐 빞 븳 떎怨   깮媛곹빀 땲 떎  떦 떊 룄  뿬李쎌씠  맗 떆 떎 洹쇱쑁  쑕 떇 뵲 쐢  깮媛곷룄 留덉떗 눥3","cycle":1,"frequency":7,"createdAt":"2024-04-18T01:59:09.604430200Z","maxFitMate":23,"state":false},{"presentFitMateCount":11,"multiMediaEndPoints":["https://avatars.githubusercontent.com/u/105261146?v=4"],"fitGroupId":5,"fitLeaderUserId":"testUserId4","fitGroupName":" 뿬李쎈뱾    씪二쇱씪 뿉 7踰   슫 룞 빐 빞二   뒪 꽣 뵒4","penaltyAmount":5004,"penaltyAccountBankCode":"090","penaltyAccountNumber":"3333-03-53674204","category":1,"introduction":" 뿬李쎈뱾    씪二쇱씪 뿉 7踰덉   슫 룞 빐 빞 븳 떎怨   깮媛곹빀 땲 떎  떦 떊 룄  뿬李쎌씠  맗 떆 떎 洹쇱쑁  쑕 떇 뵲 쐢  깮媛곷룄 留덉떗 눥4","cycle":1,"frequency":7,"createdAt":"2024-04-18T01:59:09.604430200Z","maxFitMate":24,"state":false},{"presentFitMateCount":12,"multiMediaEndPoints":["https://avatars.githubusercontent.com/u/105261146?v=4"],"fitGroupId":6,"fitLeaderUserId":"testUserId5","fitGroupName":" 뿬李쎈뱾    씪二쇱씪 뿉 7踰   슫 룞 빐 빞二   뒪 꽣 뵒5","penaltyAmount":5005,"penaltyAccountBankCode":"090","penaltyAccountNumber":"3333-03-53674205","category":1,"introduction":" 뿬李쎈뱾    씪二쇱씪 뿉 7踰덉   슫 룞 빐 빞 븳 떎怨   깮媛곹빀 땲 떎  떦 떊 룄  뿬李쎌씠  맗 떆 떎 洹쇱쑁  쑕 떇 뵲 쐢  깮媛곷룄 留덉떗 눥5","cycle":1,"frequency":7,"createdAt":"2024-04-18T01:59:09.604430200Z","maxFitMate":25,"state":false}]}

http-response

HTTP/1.1 200 OK
Content-Length: 2994
Content-Type: application/json

{"fitGroupDetails":[{"presentFitMateCount":8,"multiMediaEndPoints":["https://avatars.githubusercontent.com/u/105261146?v=4"],"fitGroupId":2,"fitLeaderUserId":"testUserId1","fitGroupName":"헬창들은 일주일에 7번 운동해야죠 스터디1","penaltyAmount":5001,"penaltyAccountBankCode":"090","penaltyAccountNumber":"3333-03-53674201","category":1,"introduction":"헬창들은 일주일에 7번은 운동해야한다고 생각합니다 당신도 헬창이 됩시다 근육 휴식따윈 생각도 마십쇼1","cycle":1,"frequency":7,"createdAt":"2024-04-18T01:59:09.604430200Z","maxFitMate":21,"state":false},{"presentFitMateCount":9,"multiMediaEndPoints":["https://avatars.githubusercontent.com/u/105261146?v=4"],"fitGroupId":3,"fitLeaderUserId":"testUserId2","fitGroupName":"헬창들은 일주일에 7번 운동해야죠 스터디2","penaltyAmount":5002,"penaltyAccountBankCode":"090","penaltyAccountNumber":"3333-03-53674202","category":1,"introduction":"헬창들은 일주일에 7번은 운동해야한다고 생각합니다 당신도 헬창이 됩시다 근육 휴식따윈 생각도 마십쇼2","cycle":1,"frequency":7,"createdAt":"2024-04-18T01:59:09.604430200Z","maxFitMate":22,"state":false},{"presentFitMateCount":10,"multiMediaEndPoints":["https://avatars.githubusercontent.com/u/105261146?v=4"],"fitGroupId":4,"fitLeaderUserId":"testUserId3","fitGroupName":"헬창들은 일주일에 7번 운동해야죠 스터디3","penaltyAmount":5003,"penaltyAccountBankCode":"090","penaltyAccountNumber":"3333-03-53674203","category":1,"introduction":"헬창들은 일주일에 7번은 운동해야한다고 생각합니다 당신도 헬창이 됩시다 근육 휴식따윈 생각도 마십쇼3","cycle":1,"frequency":7,"createdAt":"2024-04-18T01:59:09.604430200Z","maxFitMate":23,"state":false},{"presentFitMateCount":11,"multiMediaEndPoints":["https://avatars.githubusercontent.com/u/105261146?v=4"],"fitGroupId":5,"fitLeaderUserId":"testUserId4","fitGroupName":"헬창들은 일주일에 7번 운동해야죠 스터디4","penaltyAmount":5004,"penaltyAccountBankCode":"090","penaltyAccountNumber":"3333-03-53674204","category":1,"introduction":"헬창들은 일주일에 7번은 운동해야한다고 생각합니다 당신도 헬창이 됩시다 근육 휴식따윈 생각도 마십쇼4","cycle":1,"frequency":7,"createdAt":"2024-04-18T01:59:09.604430200Z","maxFitMate":24,"state":false},{"presentFitMateCount":12,"multiMediaEndPoints":["https://avatars.githubusercontent.com/u/105261146?v=4"],"fitGroupId":6,"fitLeaderUserId":"testUserId5","fitGroupName":"헬창들은 일주일에 7번 운동해야죠 스터디5","penaltyAmount":5005,"penaltyAccountBankCode":"090","penaltyAccountNumber":"3333-03-53674205","category":1,"introduction":"헬창들은 일주일에 7번은 운동해야한다고 생각합니다 당신도 헬창이 됩시다 근육 휴식따윈 생각도 마십쇼5","cycle":1,"frequency":7,"createdAt":"2024-04-18T01:59:09.604430200Z","maxFitMate":25,"state":false}]}

http-request

GET /fit-group-service/bank-codes HTTP/1.1
Content-Type: application/json;charset=UTF-8
Accept: application/json
Host: localhost:8080

curl-request

$ curl 'http://localhost:8080/fit-group-service/bank-codes' -i -X GET \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -H 'Accept: application/json'

response-fields

Path Type Description

bankCodeDetails[]

Array

은행 코드 목록

bankCodeDetails[].code

String

은행 코드

bankCodeDetails[].codeName

String

은행명

response-body

{"bankCodeDetails":[{"code":"090","codeName":"移댁뭅 삤諭낇겕"},{"code":"089","codeName":"耳  씠諭낇겕"}]}

http-response

HTTP/1.1 200 OK
Content-Length: 106
Content-Type: application/json

{"bankCodeDetails":[{"code":"090","codeName":"카카오뱅크"},{"code":"089","codeName":"케이뱅크"}]}

http-request

POST /fit-group-service/mates HTTP/1.1
Content-Type: application/json;charset=UTF-8
Accept: application/json
Content-Length: 45
Host: localhost:8080

{"requestUserId":"testUserID","fitGroupId":1}

request-fields

Path Type Description

requestUserId

String

Fit mate로 등록을 요청한 User id

fitGroupId

Number

Fit group id

request-body

{"requestUserId":"testUserID","fitGroupId":1}

curl-request

$ curl 'http://localhost:8080/fit-group-service/mates' -i -X POST \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -H 'Accept: application/json' \
    -d '{"requestUserId":"testUserID","fitGroupId":1}'

response-fields

Path Type Description

isRegisterSuccess

Boolean

등록 성공 여부

response-body

{"isRegisterSuccess":true}

http-response

HTTP/1.1 201 Created
Content-Length: 26
Content-Type: application/json

{"isRegisterSuccess":true}

path-parameters

Table 5. /fit-group-service/mates/{fit-group-id}
Parameter Description

fit-group-id

조회할 Fit group id

http-request

GET /fit-group-service/mates/1 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Accept: application/json
Host: localhost:8080

request-body

curl-request

$ curl 'http://localhost:8080/fit-group-service/mates/1' -i -X GET \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -H 'Accept: application/json'

response-fields

Path Type Description

fitGroupId

Number

조회한 fit group id

fitLeaderDetail

Object

fit group의 리더 detail

fitLeaderDetail.fitLeaderUserId

String

fit group 리더의 user id

fitLeaderDetail.createdAt

String

fit group 리더의 선정일시

fitMateDetails

Array

fit mate list

fitMateDetails[].fitMateId

Number

fit mate id

fitMateDetails[].fitMateUserId

String

fit mate 의 user id

fitMateDetails[].createdAt

String

fit mate 등록일시

response-body

{"fitGroupId":1,"fitLeaderDetail":{"fitLeaderUserId":"fitLeaderUserId","createdAt":"2024-04-18T01:59:16.782760700Z"},"fitMateDetails":[{"fitMateId":1,"fitMateUserId":"fitMateUserId1","createdAt":"2024-04-18T01:59:16.782760700Z"},{"fitMateId":2,"fitMateUserId":"fitMateUserId2","createdAt":"2024-04-18T01:59:16.782760700Z"}]}

http-response

HTTP/1.1 200 OK
Content-Length: 324
Content-Type: application/json

{"fitGroupId":1,"fitLeaderDetail":{"fitLeaderUserId":"fitLeaderUserId","createdAt":"2024-04-18T01:59:16.782760700Z"},"fitMateDetails":[{"fitMateId":1,"fitMateUserId":"fitMateUserId1","createdAt":"2024-04-18T01:59:16.782760700Z"},{"fitMateId":2,"fitMateUserId":"fitMateUserId2","createdAt":"2024-04-18T01:59:16.782760700Z"}]}

path-parameters

Table 6. /fit-group-service/mates/{fit-group-id}
Parameter Description

fit-group-id

탈퇴할 Fit group id

http-request

DELETE /fit-group-service/mates/1 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Accept: application/json
Content-Length: 30
Host: localhost:8080

{"requestUserId":"testUserID"}

request-fields

Path Type Description

requestUserId

String

탈퇴를 요청한 User id

request-body

{"requestUserId":"testUserID"}

curl-request

$ curl 'http://localhost:8080/fit-group-service/mates/1' -i -X DELETE \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -H 'Accept: application/json' \
    -d '{"requestUserId":"testUserID"}'

response-fields

Path Type Description

isDeleteSuccess

Boolean

삭제 성공 여부

response-body

{"isDeleteSuccess":true}

http-response

HTTP/1.1 200 OK
Content-Length: 24
Content-Type: application/json

{"isDeleteSuccess":true}

path-parameters

Table 7. /fit-group-service/managements/mates/{fit-group-id}/{user-id}
Parameter Description

fit-group-id

추방할 Fit group id

user-id

추방할 Fit mate user id

http-request

DELETE /fit-group-service/managements/mates/1/kickedUserId HTTP/1.1
Content-Type: application/json;charset=UTF-8
Accept: application/json
Content-Length: 32
Host: localhost:8080

{"requestUserId":"leaderUserId"}

request-fields

Path Type Description

requestUserId

String

추방을 요청한 User id ( fit leader 여야함 )

request-body

{"requestUserId":"leaderUserId"}

curl-request

$ curl 'http://localhost:8080/fit-group-service/managements/mates/1/kickedUserId' -i -X DELETE \
    -H 'Content-Type: application/json;charset=UTF-8' \
    -H 'Accept: application/json' \
    -d '{"requestUserId":"leaderUserId"}'

response-fields

Path Type Description

isKickSuccess

Boolean

추방 성공 여부

response-body

{"isKickSuccess":true}

http-response

HTTP/1.1 200 OK
Content-Length: 22
Content-Type: application/json

{"isKickSuccess":true}

<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.15.6/highlight.min.js"></script> <script>hljs.initHighlighting()</script>

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published