Auth

리프레시 토큰 갱신

HTTP request

GET /auth/refresh HTTP/1.1
Content-Type: application/json;charset=UTF-8
Access: 4321.4321.4321
Refresh: apfawfawfa.awfsfawef2.r4svfv32
Host: localhost:8080

HTTP response

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 139

{
  "code" : 200,
  "message" : "success",
  "data" : {
    "access_token" : "1234.1234.1234",
    "refresh_token" : "4321.4321.4321"
  }
}

Request headers

Name Description

Access

액세스 토큰

Refresh

리프레시 토큰

Member

회원 기여도 업데이트 (비동기)

HTTP request

POST /members/contributions HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer apfawfawfa.awfsfawef2.r4svfv32
Host: localhost:8080

HTTP response

HTTP/1.1 202 Accepted

Request headers

Name Description

Authorization

Bearer jwt 액세스 토큰

회원 기여도 조회

HTTP request

GET /members/contributions HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer apfawfawfa.awfsfawef2.r4svfv32
Host: localhost:8080

HTTP response

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 504

{
  "code" : 200,
  "message" : "success",
  "data" : [ {
    "contribute_type" : "ISSUE",
    "amount" : 100,
    "created_at" : "2024-12-19T17:08:47.809869"
  }, {
    "contribute_type" : "COMMIT",
    "amount" : 300,
    "created_at" : "2024-12-19T17:08:47.809875"
  }, {
    "contribute_type" : "CODE_REVIEW",
    "amount" : 200,
    "created_at" : "2024-12-19T17:08:47.809876"
  }, {
    "contribute_type" : "PULL_REQUEST",
    "amount" : 150,
    "created_at" : "2024-12-19T17:08:47.809876"
  } ]
}

Request headers

Name Description

Authorization

Bearer jwt 액세스 토큰

Response fields

Path Type Description

code

Number

http 상태 코드

message

String

성공 메시지

data[].contribute_type

String

기여도 타입

data[].amount

Number

기여도 개수

data[].created_at

String

기여도 db 생성 시점

회원 프로필 조회 (메인 화면)

HTTP request

GET /members/me HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer apfawfawfa.awfsfawef2.r4svfv32
Host: localhost:8080

HTTP response

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 484

{
  "code" : 200,
  "message" : "success",
  "data" : {
    "github_id" : "test-githubId",
    "commits" : 100,
    "issues" : 200,
    "pull_requests" : 300,
    "code_reviews" : 400,
    "tier" : "GOLD",
    "auth_step" : "EMAIL",
    "profile_image" : "test-profileImage",
    "rank" : 1,
    "contribution_amount" : 1000,
    "organization" : "test-organization",
    "organization_rank" : 3,
    "is_last" : false,
    "member_github_ids" : [ "test-1", "test-2", "test-3" ]
  }
}

Request headers

Name Description

Authorization

Bearer jwt 액세스 토큰

Response fields

Path Type Description

code

Number

http 상태 코드

message

String

성공 메시지

data.github_id

String

깃허브 id

data.commits

Number

커밋 개수

data.issues

Number

이슈 개수

data.pull_requests

Number

풀리퀘스트 개수

data.code_reviews

Number

코드리뷰 개수

data.tier

String

깃랭크 티어

data.auth_step

String

인증 단계

data.profile_image

String

프로필 이미지

data.rank

Number

전체 회원 랭크

data.contribution_amount

Number

기여도 개수

data.organization

String

조직명

data.organization_rank

Number

조직 내 랭크

data.is_last

Boolean

조직 내 마지막 랭크 여부

data.member_github_ids

Array

인접한 랭크 회원 깃허브 id

회원 인증 완료 여부 조회

HTTP request

GET /members/verify HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer apfawfawfa.awfsfawef2.r4svfv32
Host: localhost:8080

HTTP response

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 90

{
  "code" : 200,
  "message" : "success",
  "data" : {
    "is_login_member" : true
  }
}

Request headers

Name Description

Authorization

Bearer jwt 액세스 토큰

Response fields

Path Type Description

code

Number

http 상태 코드

message

String

성공 메시지

data.is_login_member

Boolean

조직 이메일 인증 완료 여부

회원 탈퇴

HTTP request

DELETE /members HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer apfawfawfa.awfsfawef2.r4svfv32
Host: localhost:8080

HTTP response

HTTP/1.1 204 No Content

Request headers

Name Description

Authorization

Bearer jwt 액세스 토큰

회원 개인 상세 조회

HTTP request

GET /members/details/me HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer apfawfawfa.awfsfawef2.r4svfv32
Host: localhost:8080

HTTP response

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 307

{
  "code" : 200,
  "message" : "success",
  "data" : {
    "commits" : 100,
    "issues" : 200,
    "pull_requests" : 300,
    "code_reviews" : 400,
    "profile_image" : "test-profileImage",
    "git_repos" : [ "test-repo-1", "test-repo-2" ],
    "organization" : "test-organization",
    "rank" : 1
  }
}

Request headers

Name Description

Authorization

Bearer jwt 액세스 토큰

Response fields

Path Type Description

code

Number

http 상태 코드

message

String

성공 메시지

data.commits

Number

커밋 개수

data.issues

Number

이슈 개수

data.pull_requests

Number

풀리퀘스트 개수

data.code_reviews

Number

코드리뷰 개수

data.profile_image

String

프로필 이미지

data.git_repos[]

Array

깃허브 저장소명 목록

data.organization

String

조직명

data.rank

Number

전체 회원 랭크

타회원 상세 조회

HTTP request

GET /members/details?githubId=ohksj77 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer apfawfawfa.awfsfawef2.r4svfv32
Host: localhost:8080

HTTP response

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 307

{
  "code" : 200,
  "message" : "success",
  "data" : {
    "commits" : 100,
    "issues" : 200,
    "pull_requests" : 300,
    "code_reviews" : 400,
    "profile_image" : "test-profileImage",
    "git_repos" : [ "test-repo-1", "test-repo-2" ],
    "organization" : "test-organization",
    "rank" : 1
  }
}

Request headers

Name Description

Authorization

Bearer jwt 액세스 토큰

Query parameters

Parameter Description

githubId

깃허브 id

Response fields

Path Type Description

code

Number

http 상태 코드

message

String

성공 메시지

data.commits

Number

커밋 개수

data.issues

Number

이슈 개수

data.pull_requests

Number

풀리퀘스트 개수

data.code_reviews

Number

코드리뷰 개수

data.profile_image

String

프로필 이미지

data.git_repos[]

Array

깃허브 저장소명 목록

data.organization

String

조직명

data.rank

Number

전체 회원 랭크

회원 검색

HTTP request

GET /search?type=MEMBER&q=dragon&page=1&type=MEMBER&q=dragon&page=1 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer apfawfawfa.awfsfawef2.r4svfv32
Host: localhost:8080

HTTP response

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 266

{
  "code" : 200,
  "message" : "success",
  "data" : [ {
    "github_id" : "dragon",
    "is_service_member" : true
  }, {
    "github_id" : "dragonguard",
    "is_service_member" : true
  }, {
    "github_id" : "dragonball",
    "is_service_member" : false
  } ]
}

Request headers

Name Description

Authorization

Bearer jwt 액세스 토큰

Query parameters

Parameter Description

type

검색 타입 (MEMBER, GIT_REPO)

q

검색어

page

페이징에 사용될 페이지 (최소 1)

Response fields

Path Type Description

code

Number

http 상태 코드

message

String

성공 메시지

data[].github_id

String

깃허브 id

data[].is_service_member

Boolean

깃랭크 서비스 회원 여부

Repository 검색

HTTP request

GET /search?type=GIT_REPO&q=dragon&page=1&filters=language:swift,language:kotlin,language:java HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer apfawfawfa.awfsfawef2.r4svfv32
Host: localhost:8080

HTTP response

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 505

{
  "code" : 200,
  "message" : "success",
  "data" : [ {
    "full_name" : "dragon",
    "language" : "dragon",
    "description" : "dragon",
    "created_at" : "2024-12-19T17:08:43.728559"
  }, {
    "full_name" : "dragonguard",
    "language" : "dragonguard",
    "description" : "dragonguard",
    "created_at" : "2024-12-19T17:08:43.728591"
  }, {
    "full_name" : "dragonball",
    "language" : "dragonball",
    "description" : "dragonball",
    "created_at" : "2024-12-19T17:08:43.728596"
  } ]
}

Request headers

Name Description

Authorization

Bearer jwt 액세스 토큰

Query parameters

Parameter Description

type

검색 타입 (MEMBER, GIT_REPO)

q

검색어

page

페이징에 사용될 페이지 (최소 1)

filters

검색 필터 (nullable)

Response fields

Path Type Description

code

Number

http 상태 코드

message

String

성공 메시지

data[].full_name

String

깃허브 Repository 이름

data[].language

String

빈도 높은 언어

data[].description

String

설명

data[].created_at

String

생성 시점

Organization

조직 생성

HTTP request

POST /organizations HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer apfawfawfa.awfsfawef2.r4svfv32
Content-Length: 101
Host: localhost:8080

{
  "name" : "test-org",
  "email_endpoint" : "tukorea.ac.kr",
  "organization_type" : "UNIVERSITY"
}

HTTP response

HTTP/1.1 201 Created
Content-Type: application/json;charset=UTF-8
Content-Length: 74

{
  "code" : 201,
  "message" : "success",
  "data" : {
    "id" : 1
  }
}

Request headers

Name Description

Authorization

Bearer jwt 액세스 토큰

Request fields

Path Type Description

name

String

조직 이름

email_endpoint

String

조직 도메인

organization_type

String

조직 유형

Response fields

Path Type Description

code

Number

http 상태 코드

message

String

성공 메시지

data.id

Number

생성된 조직의 고유 식별자

조직 회원 추가 요청

HTTP request

POST /organizations/join HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer apfawfawfa.awfsfawef2.r4svfv32
Content-Length: 64
Host: localhost:8080

{
  "organization_id" : 1,
  "email" : "ohksj77@tukorea.ac.kr"
}

HTTP response

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 74

{
  "code" : 200,
  "message" : "success",
  "data" : {
    "id" : 1
  }
}

Request headers

Name Description

Authorization

Bearer jwt 액세스 토큰

Request fields

Path Type Description

organization_id

Number

조직 고유 식별자

email

String

회원 이메일

Response fields

Path Type Description

code

Number

http 상태 코드

message

String

성공 메시지

data.id

Number

생성된 이메일 코드의 고유 식별자

조직 id 조회

HTTP request

GET /organizations/id?name=test-org HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer apfawfawfa.awfsfawef2.r4svfv32
Host: localhost:8080

HTTP response

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 74

{
  "code" : 200,
  "message" : "success",
  "data" : {
    "id" : 1
  }
}

Request headers

Name Description

Authorization

Bearer jwt 액세스 토큰

Query parameters

Parameter Description

name

조직 이름

Response fields

Path Type Description

code

Number

http 상태 코드

message

String

성공 메시지

data.id

Number

조직의 고유 식별자

조직 타입으로 검색

HTTP request

GET /organizations?type=UNIVERSITY&page=0&size=20 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer apfawfawfa.awfsfawef2.r4svfv32
Host: localhost:8080

HTTP response

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 383

{
  "code" : 200,
  "message" : "success",
  "data" : [ {
    "id" : 1,
    "name" : "한국공학대학교",
    "organization_type" : "UNIVERSITY",
    "email_endpoint" : "tukorea.ac.kr",
    "contribution_amount" : 1000
  }, {
    "id" : 2,
    "name" : "test-org2",
    "organization_type" : "UNIVERSITY",
    "email_endpoint" : "abc.com",
    "contribution_amount" : 300
  } ]
}

Request headers

Name Description

Authorization

Bearer jwt 액세스 토큰

Query parameters

Parameter Description

type

조직 유형 (UNIVERSITY, COMPANY, HIGH_SCHOOL, ETC)

page

페이지 번호

size

페이지 크기

Response fields

Path Type Description

code

Number

http 상태 코드

message

String

성공 메시지

data[].id

Number

조직의 고유 식별자

data[].name

String

조직 이름

data[].organization_type

String

조직 유형

data[].email_endpoint

String

조직 도메인

data[].contribution_amount

Number

기여도 총합

조직 타입과 검색어로 검색

HTTP request

GET /organizations/search?q=%ED%95%9C%EA%B5%AD%EA%B3%B5%ED%95%99&type=UNIVERSITY&page=0&size=20 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer apfawfawfa.awfsfawef2.r4svfv32
Host: localhost:8080

HTTP response

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 383

{
  "code" : 200,
  "message" : "success",
  "data" : [ {
    "id" : 1,
    "name" : "한국공학대학교",
    "organization_type" : "UNIVERSITY",
    "email_endpoint" : "tukorea.ac.kr",
    "contribution_amount" : 1000
  }, {
    "id" : 2,
    "name" : "test-org2",
    "organization_type" : "UNIVERSITY",
    "email_endpoint" : "abc.com",
    "contribution_amount" : 300
  } ]
}

Request headers

Name Description

Authorization

Bearer jwt 액세스 토큰

Query parameters

Parameter Description

q

검색어

type

조직 유형

page

페이지 번호

size

페이지 크기

Response fields

Path Type Description

code

Number

http 상태 코드

message

String

성공 메시지

data[].id

Number

조직의 고유 식별자

data[].name

String

조직 이름

data[].organization_type

String

조직 유형 (UNIVERSITY, COMPANY, HIGH_SCHOOL, ETC)

data[].email_endpoint

String

조직 도메인

data[].contribution_amount

Number

기여도 총합

Email

이메일 재전송

HTTP request

POST /email/1/resend HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer apfawfawfa.awfsfawef2.r4svfv32
Host: localhost:8080

HTTP response

HTTP/1.1 204 No Content

Request headers

Name Description

Authorization

Bearer jwt 액세스 토큰

Path parameters

Table 1. /email/{id}/resend
Parameter Description

id

재전송할 이메일 코드의 고유 식별자

이메일 코드 확인

HTTP request

GET /email/1/check?code=12345&organizationId=2 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer apfawfawfa.awfsfawef2.r4svfv32
Host: localhost:8080

HTTP response

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 88

{
  "code" : 200,
  "message" : "success",
  "data" : {
    "is_valid_code" : true
  }
}

Request headers

Name Description

Authorization

Bearer jwt 액세스 토큰

Path parameters

Table 1. /email/{id}/check
Parameter Description

id

이메일 코드의 고유 식별자

Query parameters

Parameter Description

code

이메일 코드

organizationId

조직의 고유 식별자

Response fields

Path Type Description

code

Number

http 상태 코드

message

String

성공 메시지

data.is_valid_code

Boolean

코드 유효 여부

이메일 코드 제거

HTTP request

DELETE /email/1 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer apfawfawfa.awfsfawef2.r4svfv32
Host: localhost:8080

HTTP response

HTTP/1.1 204 No Content

Request headers

Name Description

Authorization

Bearer jwt 액세스 토큰

Path parameters

Table 1. /email/{id}
Parameter Description

id

이메일 코드의 고유 식별자

Admin

관리자 권한 확인

HTTP request

GET /admin/check HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer apfawfawfa.awfsfawef2.r4svfv32
Host: localhost:8080

HTTP response

HTTP/1.1 204 No Content

Request headers

Name Description

Authorization

Bearer jwt 액세스 토큰

조직 상태 변경

HTTP request

POST /admin/organizations/1/decide HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer apfawfawfa.awfsfawef2.r4svfv32
Content-Length: 40
Host: localhost:8080

{
  "organization_status" : "APPROVED"
}

HTTP response

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 283

{
  "code" : 200,
  "message" : "success",
  "data" : [ {
    "id" : 1,
    "name" : "test-org",
    "type" : "UNIVERSITY",
    "email_endpoint" : "tukorea.ac.kr"
  }, {
    "id" : 2,
    "name" : "test-org2",
    "type" : "UNIVERSITY",
    "email_endpoint" : "tukorea.ac.kr"
  } ]
}

Request headers

Name Description

Authorization

Bearer jwt 액세스 토큰

Path parameters

Table 1. /admin/organizations/{id}/decide
Parameter Description

id

조직의 고유 식별자

Request fields

Path Type Description

organization_status

String

조직 상태

Response fields

Path Type Description

code

Number

http 상태 코드

message

String

성공 메시지

data[].id

Number

조직 고유 식별자

data[].name

String

조직명

data[].type

String

조직 유형

data[].email_endpoint

String

조직 이메일 엔드포인트

상태별 조직 조회

HTTP request

GET /admin/organizations?status=APPROVED&page=0&size=10 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer apfawfawfa.awfsfawef2.r4svfv32
Host: localhost:8080

HTTP response

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 283

{
  "code" : 200,
  "message" : "success",
  "data" : [ {
    "id" : 1,
    "name" : "test-org",
    "type" : "UNIVERSITY",
    "email_endpoint" : "tukorea.ac.kr"
  }, {
    "id" : 2,
    "name" : "test-org2",
    "type" : "UNIVERSITY",
    "email_endpoint" : "tukorea.ac.kr"
  } ]
}

Request headers

Name Description

Authorization

Bearer jwt 액세스 토큰

Query parameters

Parameter Description

status

조직 상태

page

페이지 번호

size

페이지 사이즈

Response fields

Path Type Description

code

Number

http 상태 코드

message

String

성공 메시지

data[].id

Number

조직 고유 식별자

data[].name

String

조직명

data[].type

String

조직 유형

data[].email_endpoint

String

조직 이메일 엔드포인트

Git Organization

회원 Git 조직 목록 조회

HTTP request

GET /git-orgs/me HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer apfawfawfa.awfsfawef2.r4svfv32
Host: localhost:8080

HTTP response

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 283

{
  "code" : 200,
  "message" : "success",
  "data" : [ {
    "name" : "test-name",
    "profile_image" : "test-profileImage"
  }, {
    "name" : "test-name",
    "profile_image" : "test-profileImage"
  }, {
    "name" : "test-name",
    "profile_image" : "test-profileImage"
  } ]
}

Request headers

Name Description

Authorization

Bearer jwt 액세스 토큰

Response fields

Path Type Description

code

Number

http 상태 코드

message

String

성공 메시지

data[].name

String

git-org 이름

data[].profile_image

String

git-org 프로필 이미지

Git Repository

회원 Git 저장소 목록 조회

HTTP request

GET /git-repos/me HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer apfawfawfa.awfsfawef2.r4svfv32
Host: localhost:8080

HTTP response

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 112

{
  "code" : 200,
  "message" : "success",
  "data" : [ "test-git-repo1", "test-git-repo2", "test-git-repo3" ]
}

Request headers

Name Description

Authorization

Bearer jwt 액세스 토큰

Response fields

Path Type Description

code

Number

http 상태 코드

message

String

성공 메시지

data[]

Array

git-org 이름

Git Organization에 속한 Git Repository 목록 조회

HTTP request

GET /git-repos/git-organizations?name=tukcom2023CD HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer apfawfawfa.awfsfawef2.r4svfv32
Host: localhost:8080

HTTP response

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 180

{
  "code" : 200,
  "message" : "success",
  "data" : {
    "profile_image" : "test-profile-image",
    "git_repos" : [ "test-git-repo1", "test-git-repo2", "test-git-repo3" ]
  }
}

Request headers

Name Description

Authorization

Bearer jwt 액세스 토큰

Query parameters

Parameter Description

name

git-org 이름

Response fields

Path Type Description

code

Number

http 상태 코드

message

String

성공 메시지

data.profile_image

String

git-repo 프로필 이미지

data.git_repos[]

Array

git-repo 이름

회원 Git 저장소 목록 조회

HTTP request

GET /git-repos?name=tukcom2023CD/DragonGuard-JinJin HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer apfawfawfa.awfsfawef2.r4svfv32
Host: localhost:8080

HTTP response

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 540

{
  "code" : 200,
  "message" : "success",
  "data" : {
    "spark_line" : [ 1, 2, 3, 4, 5 ],
    "git_repo_members" : [ {
      "github_id" : "test-member1",
      "profile_url" : "test-member1-profile-image",
      "commits" : 1000,
      "additions" : 1000,
      "deletions" : 1000,
      "is_service_member" : false
    }, {
      "github_id" : "test-member2",
      "profile_url" : "test-member2-profile-image",
      "commits" : 2000,
      "additions" : 3000,
      "deletions" : 4000,
      "is_service_member" : true
    } ]
  }
}

Request headers

Name Description

Authorization

Bearer jwt 액세스 토큰

Query parameters

Parameter Description

name

git-repo 이름

Response fields

Path Type Description

code

Number

http 상태 코드

message

String

성공 메시지

data.spark_line[]

Array

git-repo 기여도 추이

data.git_repo_members[].github_id

String

git-repo 멤버 githubId

data.git_repo_members[].profile_url

String

git-repo 멤버 프로필 이미지

data.git_repo_members[].commits

Number

git-repo 멤버 커밋 수

data.git_repo_members[].additions

Number

git-repo 멤버 코드 추가 수

data.git_repo_members[].deletions

Number

git-repo 멤버 코드 삭제 수

data.git_repo_members[].is_service_member

Boolean

git-repo 멤버 서비스 멤버 여부

회원 Git 저장소 목록 조회

HTTP request

GET /git-repos/compare?first=tukcom2023CD/DragonGuard-JinJin&second=GitRank-v2/core-service HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer apfawfawfa.awfsfawef2.r4svfv32
Host: localhost:8080

HTTP response

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 1129

{
  "code" : 200,
  "message" : "success",
  "data" : {
    "first" : {
      "spark_line" : [ 1, 2, 3, 4, 5 ],
      "git_repo_members" : [ {
        "github_id" : "test-member1",
        "profile_url" : "test-member1-profile-image",
        "commits" : 1000,
        "additions" : 1000,
        "deletions" : 1000,
        "is_service_member" : false
      }, {
        "github_id" : "test-member2",
        "profile_url" : "test-member2-profile-image",
        "commits" : 2000,
        "additions" : 3000,
        "deletions" : 4000,
        "is_service_member" : true
      } ]
    },
    "second" : {
      "spark_line" : [ 1, 2, 3, 4, 5 ],
      "git_repo_members" : [ {
        "github_id" : "test-member1",
        "profile_url" : "test-member1-profile-image",
        "commits" : 1000,
        "additions" : 1000,
        "deletions" : 1000,
        "is_service_member" : false
      }, {
        "github_id" : "test-member2",
        "profile_url" : "test-member2-profile-image",
        "commits" : 2000,
        "additions" : 3000,
        "deletions" : 4000,
        "is_service_member" : true
      } ]
    }
  }
}

Request headers

Name Description

Authorization

Bearer jwt 액세스 토큰

Query parameters

Parameter Description

first

첫번째 git-repo 이름

second

두번째 git-repo 이름

Response fields

Path Type Description

code

Number

http 상태 코드

message

String

성공 메시지

data.first.spark_line[]

Array

git-repo 기여도 추이

data.first.git_repo_members[].github_id

String

git-repo 멤버 githubId

data.first.git_repo_members[].profile_url

String

git-repo 멤버 프로필 이미지

data.first.git_repo_members[].commits

Number

git-repo 멤버 커밋 수

data.first.git_repo_members[].additions

Number

git-repo 멤버 코드 추가 수

data.first.git_repo_members[].deletions

Number

git-repo 멤버 코드 삭제 수

data.first.git_repo_members[].is_service_member

Boolean

git-repo 멤버 서비스 멤버 여부

data.second.spark_line[]

Array

git-repo 기여도 추이

data.second.git_repo_members[].github_id

String

git-repo 멤버 githubId

data.second.git_repo_members[].profile_url

String

git-repo 멤버 프로필 이미지

data.second.git_repo_members[].commits

Number

git-repo 멤버 커밋 수

data.second.git_repo_members[].additions

Number

git-repo 멤버 코드 추가 수

data.second.git_repo_members[].deletions

Number

git-repo 멤버 코드 삭제 수

data.second.git_repo_members[].is_service_member

Boolean

git-repo 멤버 서비스 멤버 여부

Rank

회원 랭킹 조회

HTTP request

GET /ranks/members?page=0&size=20 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer apfawfawfa.awfsfawef2.r4svfv32
Host: localhost:8080

HTTP response

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 360

{
  "code" : 200,
  "message" : "success",
  "data" : [ {
    "id" : 1,
    "github_id" : "dragon",
    "tier" : "GOLD",
    "profile_image" : "http://profileImageUrl",
    "contribution_amount" : 1000
  }, {
    "id" : 2,
    "github_id" : "dragon",
    "tier" : "GOLD",
    "profile_image" : "http://profileImageUrl",
    "contribution_amount" : 1000
  } ]
}

Request headers

Name Description

Authorization

Bearer jwt 액세스 토큰

Query parameters

Parameter Description

page

페이징에 사용될 페이지 (최소 0)

size

페이지당 데이터 수

Response fields

Path Type Description

code

Number

http 상태 코드

message

String

성공 메시지

data[].id

Number

회원 식별자

data[].github_id

String

깃허브 id

data[].tier

String

회원 티어

data[].profile_image

String

프로필 이미지 url

data[].contribution_amount

Number

회원 기여도 총합

조직 내 회원 랭킹 조회

HTTP request

GET /ranks/organizations/1/members?page=0&size=20 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer apfawfawfa.awfsfawef2.r4svfv32
Host: localhost:8080

HTTP response

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 360

{
  "code" : 200,
  "message" : "success",
  "data" : [ {
    "id" : 1,
    "github_id" : "dragon",
    "tier" : "GOLD",
    "profile_image" : "http://profileImageUrl",
    "contribution_amount" : 1000
  }, {
    "id" : 2,
    "github_id" : "dragon",
    "tier" : "GOLD",
    "profile_image" : "http://profileImageUrl",
    "contribution_amount" : 1000
  } ]
}

Request headers

Name Description

Authorization

Bearer jwt 액세스 토큰

Query parameters

Parameter Description

page

페이징에 사용될 페이지 (최소 0)

size

페이지당 데이터 수

Response fields

Path Type Description

code

Number

http 상태 코드

message

String

성공 메시지

data[].id

Number

회원 식별자

data[].github_id

String

깃허브 id

data[].tier

String

회원 티어

data[].profile_image

String

프로필 이미지 url

data[].contribution_amount

Number

회원 기여도 총합

타입별 조직 랭킹 조회

HTTP request

GET /ranks/organizations?type=UNIVERSITY&page=0&size=20 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer apfawfawfa.awfsfawef2.r4svfv32
Host: localhost:8080

HTTP response

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 266

{
  "code" : 200,
  "message" : "success",
  "data" : [ {
    "id" : 1,
    "name" : "dragon",
    "type" : "UNIVERSITY",
    "contribution_amount" : 3000
  }, {
    "id" : 2,
    "name" : "dragon",
    "type" : "UNIVERSITY",
    "contribution_amount" : 3000
  } ]
}

Request headers

Name Description

Authorization

Bearer jwt 액세스 토큰

Query parameters

Parameter Description

type

조직 타입

page

페이징에 사용될 페이지 (최소 0)

size

페이지당 데이터 수

Response fields

Path Type Description

code

Number

http 상태 코드

message

String

성공 메시지

data[].id

Number

회원 식별자

data[].name

String

깃허브 id

data[].contribution_amount

Number

조직 기여도 총합

data[].type

String

조직 타입

조직 전체 랭킹 조회

HTTP request

GET /ranks/organizations/all?page=0&size=20 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer apfawfawfa.awfsfawef2.r4svfv32
Host: localhost:8080

HTTP response

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 266

{
  "code" : 200,
  "message" : "success",
  "data" : [ {
    "id" : 1,
    "name" : "dragon",
    "type" : "UNIVERSITY",
    "contribution_amount" : 3000
  }, {
    "id" : 2,
    "name" : "dragon",
    "type" : "UNIVERSITY",
    "contribution_amount" : 3000
  } ]
}

Request headers

Name Description

Authorization

Bearer jwt 액세스 토큰

Query parameters

Parameter Description

page

페이징에 사용될 페이지 (최소 0)

size

페이지당 데이터 수

Response fields

Path Type Description

code

Number

http 상태 코드

message

String

성공 메시지

data[].id

Number

회원 식별자

data[].name

String

깃허브 id

data[].contribution_amount

Number

조직 기여도 총합

data[].type

String

조직 타입