Skip to content

LikeLionHGU/Campus_Match_Back

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

131 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Campus Match Logo

🏆 캠퍼스 매치 (Campus Match)

대학 스포츠 동아리들의 지속 가능한 교류 네트워크 플랫폼


📖 서비스 소개

캠퍼스 매치는 대학 스포츠 동아리들이 타 대학 동아리와 공식적으로 교류하고, 경기 및 교류의 기록을 남겨 지속 가능한 동아리 네트워크를 만드는 웹 플랫폼입니다.


🎯 기획 배경 및 문제 정의

🛑 기존의 문제점 (배경)

기존의 대학 스포츠 동아리 간 교류는 주로 회장단 개인의 인맥이나 에브리타임, 인스타그램 등 파편화된 SNS, 그리고 일회성 이벤트에 크게 의존하고 있었습니다. 이로 인해 다음과 같은 세 가지 주요 한계점이 발생했습니다:

  1. 휘발성: 교류가 끝난 뒤에는 승패 기록이나 활동 내역이 어디에도 남지 않음.
  2. 불투명성: 상대 동아리의 실력이나 '초크(비매너 플레이)' 여부 등 신뢰도를 사전에 파악할 수 없음.
  3. 단절성: 개인 인맥에 의존하다 보니 담당자가 바뀌면 교류 네트워크가 완전히 끊어짐.

💡 서비스의 전환 (해커톤 주제: '전환')

캠퍼스 매치는 동아리 단위의 공식 매칭 구조를 제공합니다. 경기 및 교류 결과를 기록하고 서로의 매너를 평가함으로써, 기존의 '휘발되는 일회성 교류'를 '축적 가능하고 신뢰할 수 있는 지속적인 관계'로 전환하는 것을 핵심 가치로 삼았습니다.


✨ 주요 기능 및 특징 소개

  • 🔍 동아리 탐색 및 조회: 종목/지역별 대학 스포츠 동아리 탐색 및 온도(매너 점수), 전적 확인
  • 🤝 매칭 시스템: 타 대학 동아리에 매칭을 제안하고, 받은 제안을 수락/거절하며 일정을 조율
  • 📝 매치업 히스토리 (기록 관리): 교류 완료 후 승/무/패를 기록하고 누적 교류 데이터를 관리
  • ⭐ 온도(매너 점수) 시스템: 교류 후 상대 동아리의 매너를 상호 평가하여 배지 시스템과 연동하는 신뢰도 구축 체계
  • 📸 갤러리 아카이빙: 교류 활동 사진을 기록하여 동아리의 활발한 활동을 증명

🌟 기대 효과

  1. 공정성 보장: 개인 인맥에 의존하지 않는 누구나 접근 가능한 공정한 교류 시스템 형성
  2. 사전 검증된 신뢰도: 동아리 간 온도(매너 점수)와 뱃지, 히스토리를 기반으로 신뢰할 수 있는 매칭
  3. 지속 가능한 아카이빙: 단발성 만남의 증발을 막고, 스포츠 동아리의 '가치'가 누적되는 네트워킹 구축

🛠 기술 스택

Frontend (협업 환경)

Backend

Deployment

API 명세서

목차

API 그룹 요약

그룹 개수
/api/badge 1
/api/club 17
/api/matchPost 19
/api/gallery 7
/api/matchRequest 9
/api/schedule 5
/api/univ 1
/api/matchHistory 8
/api/login 1
/api/auth 2

인증 흐름

1) Access Token 발급

  • POST /api/auth
  • 아이디/비밀번호로 Access Token 발급

2) Refresh Token 발급

  • POST /api/login
  • 아이디/비밀번호로 Refresh Token 발급

3) 로그아웃

  • DELETE /api/auth
  • 현재 로그인 세션 로그아웃

/api/badge

Method Path 기능 사용 페이지 Service Method 구현 담당자
GET /api/badge/{clubID} - 메인 페이지 - Back 학부생 조나은
GET /api/badge/{clubID}
  • 사용 페이지: 메인 페이지
  • 구현 여부: Back
  • 담당자: 학부생 조나은

Response 예시

[
{
"id": 1,
"title": "게시글 작성왕",
"imageUrl": "https://server.com/images/badges/writer_gold.png",
"isAcquired": true
},
{
"id": 2,
"title": "첫 승리",
"imageUrl": "https://server.com/images/badges/first_win.png",
"isAcquired": true
}
…
]

/api/club

Method Path 기능 사용 페이지 Service Method 구현 담당자
GET /api/club 동아리 목록 동아리 검색 페이지 - Back 학부생 안광은
POST /api/club 회원가입 회원가입 페이지 - Back 학부생 안광은
POST /api/club/award 수상경력 추가 대시보드 페이지 Award Create Back 학부생 안광은
DELETE /api/club/award/{awardId} 수상경력 삭제 대시보드 페이지 Award Delete Back 학부생 안광은
GET /api/club/dashboard/{clubId} 동아리 대시보드 대시보드 페이지 Dashboard Back 학부생 안광은
GET /api/club/dashboard/{clubId} 동아리 대시보드 동아리 검색 페이지 Dashboard Back 학부생 안광은
PUT /api/club/description 나의 동아리 소개 수정 대시보드 페이지 Descrtiption Update Back 학부생 안광은
GET /api/club/description/{clubId} 나의 동아리 소개 상세 대시보드 페이지 Description Back 학부생 안광은
POST /api/club/email/confirm 이메일 코드 검증하기 회원가입 페이지 - - -
POST /api/club/email/request 이메일 검증 보내기 회원가입 페이지 - - -
GET /api/club/info 로그인 유저 정보 가져오기 - Info Back 학부생 안광은
GET /api/club/isValidId?username= 아이디 중복 확인 회원가입 페이지 - Back 학부생 안광은
POST /api/club/search 동아리 찾기 히스토리 페이지 - - -
DELETE /api/club/setting 동아리 삭제 설정 페이지 - Back 학부생 안광은
GET /api/club/setting/{clubId} 내 정보 조회 설정 페이지 setttingDetail Back 학부생 조나은
PUT /api/club/setting/{clubId} 내 정보 수정 설정 페이지 - Back 학부생 조나은
POST /api/club/signupValid 이메일 인증 회원가입 회원가입 페이지 - - -
GET /api/club — 동아리 목록
  • 사용 페이지: 동아리 검색 페이지
  • 구현 여부: Back
  • 담당자: 학부생 안광은

Request 예시

"sportCategoryList" : [
"축구", "미식축구"
],
"regionList" : [
"경북", "서울"
],
"keyword" : "멋사"

Response 예시

{
"List" : [
{
"clubId" : 1,
"region" : "경북",
"university" : "한동대학교",
"clubName" : "멋사",
"sportCategory" : "축구",
"mannerScore" : 55
},
{
"clubId" : 2,
"region" : "경북",
"university" : "한동대학교",
"clubName" : "멋사",
"sportCategory" : "축구",
"mannerScore" : 55
},
{
"clubId" : 3,
"region" : "경북",
"university" : "한동대학교",
"clubName" : "멋사",
"sportCategory" : "축구",
"mannerScore" : 55
},
{
"clubId" : 4,
"region" : "경북",
"university" : "한동대학교",
"clubName" : "멋사",
"sportCategory" : "축구",
"mannerScore" : 55
},
]
POST /api/club — 회원가입
  • 사용 페이지: 회원가입 페이지
  • 구현 여부: Back
  • 담당자: 학부생 안광은

Request 예시

{ 
"username" : "test",
"password" : "1111",
"name" : "김축구",
"university" : "한동대학교",
"phone" : "010-0000-0000",
"email" : "test@handong.ac.kr",
"clubName" : "멋사",
"description" "우리 멋쟁이 …",
"region" : "경북",
"sportCategory" : "축구"
}

Response 예시

{
"clubId" : 1
}
POST /api/club/award — 수상경력 추가
  • 사용 페이지: 대시보드 페이지
  • Service Method: Award Create
  • 구현 여부: Back
  • 담당자: 학부생 안광은

Request 예시

{"title" : "2025 해커톤 수상"}

Response 예시

{
"awardId" : 1,
"title" : "2025 해커톤 수상" }
DELETE /api/club/award/{awardId} — 수상경력 삭제
  • 사용 페이지: 대시보드 페이지
  • Service Method: Award Delete
  • 구현 여부: Back
  • 담당자: 학부생 안광은

Response 예시

{
"awardId" : 1
}
GET /api/club/dashboard/{clubId} — 동아리 대시보드
  • 사용 페이지: 대시보드 페이지
  • Service Method: Dashboard
  • 구현 여부: Back
  • 담당자: 학부생 안광은

Response 예시

{
"clubId" : 1,
"clubName" : "멋사",
"description" : "설명",
"totalMatches" : 10,
"totalWins" : 4,
"totalDraws" : 1,
"totalLosses" : 1,
"mannerScore" : 37.5,
"isMine" : false,
"upcomingResDtoList" : [
    {
     "matchPostId" : 1,
     "matchDate" : 2026-04-12,
     "university" : "한동대학교",
     "clubName" : "밀란"
    },
    {
     "matchPostId" : 2,
     "matchDate" : 2026-04-12,
     "university" : "한동대학교",
     "clubName" : "밀란"
    }
],
"ongoingResDtoList" :  [
    {
     "matchPostId" : 1,
     "matchDate" : 2026-04-12,
     "university" : "한동대학교",
     "clubName" : "밀란"
    },
    {
     "matchPostId" : 2,
     "matchDate" : 2026-04-12,
     "university" : "한동대학교",
     "clubName" : "밀란"
    }
],
"matchResDtoList" :  [
    {
     "matchPostId" : 1,
     "matchDate" : 2026-04-12,
     "university" : "한동대학교",
     "clubName" : "밀란"
    },
    {
     "matchPostId" : 2,
     "matchDate" : 2026-04-12,
     "university" : "한동대학교",
     "clubName" : "밀란"
    }
],
"pastResDtoList" :  [
    {
     "matchPostId" : 1,
     "matchDate" : 2026-04-12,
     "university" : "한동대학교",
     "clubName" : "밀란"
    },
    {
     "matchPostId" : 2,
     "matchDate" : 2026-04-12,
     "university" : "한동대학교",
     "clubName" : "밀란"
    }
],
"receiveResDtoList" : [
    {
     "matchRequestId" : 1,
     "matchDate" : 2026-04-12,
     "university" : "한동대학교",
     "clubName" : "밀란"
    },
    {
     "matchRequestId" : 2,
     "matchDate" : 2026-04-12,
     "university" : "한동대학교",
     "clubName" : "밀란"
    }
],
"sendResDtoList" : [
    {
     "matchRequestId" : 1,
     "matchDate" : 2026-04-12,
     "university" : "한동대학교",
     "clubName" : "밀란"
    },
    {
     "matchRequestId" : 2,
     "matchDate" : 2026-04-12,
     "university" : "한동대학교",
     "clubName" : "밀란"
    }
],
"scheduleResDtoList" : [
    {
     "scheduleId" : 1, 
     "title" : "멋사 MT",
     "startDate" : 2026-02-23,
     "endDate" : 2026-02-23
    },
    {
     "scheduleId" : 1, 
     "title" : "멋사 MT",
     "startDate" : 2026-02-23,
     "endDate" : 2026-02-23
    }
]
"galleryResDtoList" : [
    {
      "galleryId" : 1,
      "title" : "밀란과 한판",
      "matchDate" : 2026-04-02,
      "imageUrl" : "urlurl"
    },
    {
      "galleryId" : 1,
      "title" : "밀란과 한판",
      "matchDate" : 2026-04-02,
      "imageUrl" : "urlurl"
    },
]
}
GET /api/club/dashboard/{clubId} — 동아리 대시보드
  • 사용 페이지: 동아리 검색 페이지
  • Service Method: Dashboard
  • 구현 여부: Back
  • 담당자: 학부생 안광은

Response 예시

{
"clubId" : 1,
"clubName" : "멋사",
"description" : "설명",
"totalMatches" : 10,
"totalWins" : 4,
"totalDraws" : 1,
"totalLosses" : 1,
"mannerScore" : 37.5,
"isMine" : false,
"upcomingResDtoList" : [
    {
     "matchPostId" : 1,
     "matchDate" : 2026-04-12,
     "university" : "한동대학교",
     "clubName" : "밀란"
    },
    {
     "matchPostId" : 2,
     "matchDate" : 2026-04-12,
     "university" : "한동대학교",
     "clubName" : "밀란"
    }
],
"ongoingResDtoList" :  [
    {
     "matchPostId" : 1,
     "matchDate" : 2026-04-12,
     "university" : "한동대학교",
     "clubName" : "밀란"
    },
    {
     "matchPostId" : 2,
     "matchDate" : 2026-04-12,
     "university" : "한동대학교",
     "clubName" : "밀란"
    }
],
"receiveResDtoList" : [
    {
     "matchRequestId" : 1,
     "matchDate" : 2026-04-12,
     "university" : "한동대학교",
     "clubName" : "밀란"
    },
    {
     "matchRequestId" : 2,
     "matchDate" : 2026-04-12,
     "university" : "한동대학교",
     "clubName" : "밀란"
    }
],
"sendResDtoList" : [
    {
     "matchRequestId" : 1,
     "matchDate" : 2026-04-12,
     "university" : "한동대학교",
     "clubName" : "밀란"
    },
    {
     "matchRequestId" : 2,
     "matchDate" : 2026-04-12,
     "university" : "한동대학교",
     "clubName" : "밀란"
    }
],
"scheduleResDtoList" : [
    {
     "scheduleId" : 1, 
     "title" : "멋사 MT",
     "startDate" : 2026-02-23,
     "endDate" : 2026-02-23
    },
    {
     "scheduleId" : 1, 
     "title" : "멋사 MT",
     "startDate" : 2026-02-23,
     "endDate" : 2026-02-23
    }
]
"galleryResDtoList" : [
    {
      "galleryId" : 1,
      "title" : "밀란과 한판",
      "matchDate" : 2026-04-02,
      "imageUrl" : "urlurl"
    },
    {
      "galleryId" : 1,
      "title" : "밀란과 한판",
      "matchDate" : 2026-04-02,
      "imageUrl" : "urlurl"
    },
]
}
PUT /api/club/description — 나의 동아리 소개 수정
  • 사용 페이지: 대시보드 페이지
  • Service Method: Descrtiption Update
  • 구현 여부: Back
  • 담당자: 학부생 안광은

Request 예시

{
"description" : "소개 수정" 
}

Response 예시

{
"clubId" : 1
}
GET /api/club/description/{clubId} — 나의 동아리 소개 상세
  • 사용 페이지: 대시보드 페이지
  • Service Method: Description
  • 구현 여부: Back
  • 담당자: 학부생 안광은

Response 예시

{
"mannerScore" : 55,
"description" : "동아리 소개",
"awardResDtoList" : [
{
"awardId" : 1,
"title" : "2025 포항시 대학연합축제 (우승)"
},
{
"awardId" : 2,
"title" : "2025 포항시 대학연합축제 (우승)"
},
{
"awardId" : 3,
"title" : "2025 포항시 대학연합축제 (우승)"
}
],
"isMine" : true
}
POST /api/club/email/confirm — 이메일 코드 검증하기
  • 사용 페이지: 회원가입 페이지

Request 예시

{
"email" : "test@handong.ac.kr",
"code" : "123456"
}

Response 예시

{
"verificationToken" : "UUID..."
POST /api/club/email/request — 이메일 검증 보내기
  • 사용 페이지: 회원가입 페이지

Request 예시

{
"email" : "test@handong.ac.kr"
}
GET /api/club/info — 로그인 유저 정보 가져오기
  • Service Method: Info
  • 구현 여부: Back
  • 담당자: 학부생 안광은

Response 예시

{
"clubId" : 1,
"clubName" : 멋사,
"imageUrl" : "urlurl"
}
GET /api/club/isValidId?username= — 아이디 중복 확인
  • 사용 페이지: 회원가입 페이지
  • 구현 여부: Back
  • 담당자: 학부생 안광은

Response 예시

{
"isValidId" : true
}
POST /api/club/search — 동아리 찾기
  • 사용 페이지: 히스토리 페이지

Request 예시

{
"keyword" : "검색"
}

Response 예시

{
"clubId" : 1,
"clubName" : "멋쟁이 사자처럼",
"university" : "한동대학교"
}
DELETE /api/club/setting — 동아리 삭제
  • 사용 페이지: 설정 페이지
  • 구현 여부: Back
  • 담당자: 학부생 안광은
GET /api/club/setting/{clubId} — 내 정보 조회
  • 사용 페이지: 설정 페이지
  • Service Method: setttingDetail
  • 구현 여부: Back
  • 담당자: 학부생 조나은

Response 예시

{
"clubName" : "",
"username" : "",
"password" : "",
"name" : "",
"university" : "",
"phone": "",
"email" : ""
}
PUT /api/club/setting/{clubId} — 내 정보 수정
  • 사용 페이지: 설정 페이지
  • 구현 여부: Back
  • 담당자: 학부생 조나은

Request 예시

{
"name" : "",
"username" : "",
"password" : "",
"university" : "",
"clubName" : "",
"phone" : "",
"email" : ""
}

Response 예시

{
"clubId" : 1
}
POST /api/club/signupValid — 이메일 인증 회원가입
  • 사용 페이지: 회원가입 페이지

Request 예시

{ 
"username" : "test",
"password" : "1111",
"name" : "김축구",
"university" : "한동대학교",
"phone" : "010-0000-0000",
"email" : "test@handong.ac.kr",
"clubName" : "멋사",
"description" "우리 멋쟁이 …",
"region" : "경북",
"sportCategory" : "축구"
"emailVerificationToken": "UUID..."
}

Response 예시

{
"clubId" : 1
}

/api/matchPost

Method Path 기능 사용 페이지 Service Method 구현 담당자
POST /api/matchPost 매치업 게시글 생성 매치업 게시판 페이지 create Back 학부생 안광은
POST /api/matchPost 매치업 등록 매치업 게시판 페이지 Create Back 학부생 안광은
GET /api/matchPost/finish 종료된 매치업 조회 종료된 메치업 페이지 FinishLIst Back 학부생 안광은
GET /api/matchPost/finish/{matchPostId} 종료된 매치업 상세조회 종료된 메치업 페이지 FinishDetail Back 학부생 안광은
GET /api/matchPost/list 매치업 게시글 기본 목록 매치업 게시판 페이지 list Back 학부생 안광은
GET /api/matchPost/mine 내가 쓴 매치업 목록 매치업 게시판 페이지 mineList Back 학부생 안광은
GET /api/matchPost/ongoing 진행중 매치업 진행중 매치업 페이지 OngoingList Back 학부생 안광은
DELETE /api/matchPost/ongoing/{matchPostId} 진행중 매치업 종료 진행중 매치업 페이지 OngoingDelete Back 학부생 안광은
GET /api/matchPost/ongoing/{matchPostId} 진행중 매치업 상세조회 진행중 매치업 페이지 OngoingDetail Back 학부생 안광은
GET /api/matchPost/other 다른 사람이 쓴 매치업 목록 매치업 게시판 페이지 otherList Back 학부생 안광은
GET /api/matchPost/schedule/detail/{clubId}?matchPostId= 매치업 스케줄 상세조회 스케줄 페이지 schedule detail Back 학부생 안광은
GET /api/matchPost/upcoming 예정 매치업 예정된 매치업 페이지 UpcomingLIst Back 학부생 안광은
DELETE /api/matchPost/upcoming/{matchPostId} 예정 매치업 취소 예정된 매치업 페이지 upcomingDelete Back 학부생 안광은
GET /api/matchPost/upcoming/{matchPostId} 예정 매치업 상세조회 예정된 매치업 페이지 UpcomingDetail Back 학부생 안광은
DELETE /api/matchPost/{matchPostId} 매치업 게시글 삭제 매치업 게시판 페이지 delete Back 학부생 안광은
DELETE /api/matchPost/{matchPostId} 매치업 삭제 매치업 게시판 페이지 Delete Back 학부생 안광은
GET /api/matchPost/{matchPostId} 매치업 게시글 상세내용 매치업 게시판 페이지 detail Back 학부생 안광은
PUT /api/matchPost/{matchPostId} 매치업 게시글 수정 매치업 게시판 페이지 update Back 학부생 안광은
PUT /api/matchPost/{matchPostId} 매치업 수정 매치업 게시판 페이지 Update Back 학부생 안광은
POST /api/matchPost — 매치업 게시글 생성
  • 사용 페이지: 매치업 게시판 페이지
  • Service Method: create
  • 구현 여부: Back
  • 담당자: 학부생 안광은

Request 예시

{
"sportCategory" : "축구",
"matchDate" : 2026-01-31,
"location" : "포항체육센터",
"locationDetail" : "상세주소",
"startTime" : 14:00,
"endTime" : 17:00,
"content" : "상세내용입니다."
}

Response 예시

{
"matchPostId" : 1
}
POST /api/matchPost — 매치업 등록
  • 사용 페이지: 매치업 게시판 페이지
  • Service Method: Create
  • 구현 여부: Back
  • 담당자: 학부생 안광은

Request 예시

{
"sportCategory" : "미식축구",
"matchDate" : "2026-01-01",
"location" : "매치문화센터",
"startTime" : "11:00",
"endTime" : "17:00",
"content" : "화이팅입니다!"
}

Response 예시

{
"matchPostId" : 1
}
GET /api/matchPost/finish — 종료된 매치업 조회
  • 사용 페이지: 종료된 메치업 페이지
  • Service Method: FinishLIst
  • 구현 여부: Back
  • 담당자: 학부생 안광은

Response 예시

List : [
{
"matchPostId" : 1,
"region" : "경북",
"sportCategory" : "미식축구",
"matchDate" : "2026-01-01",
"location" : "매치문화센터",
"clubId" : 1,
"imageUrl" : "urlurl",
"clubName" : "홀램",
"university" : "한동대학교",
"mannerScore" : 50
},
{
{
"matchPostId" : 2,
"region" : "경북",
"sportCategory" : "미식축구",
"matchDate" : "2026-01-01",
"location" : "매치문화센터",
"clubId" : 1,
"imageUrl" : "urlurl",
"clubName" : "홀램",
"university" : "한동대학교",
"mannerScore" : 50
},
]
GET /api/matchPost/finish/{matchPostId} — 종료된 매치업 상세조회
  • 사용 페이지: 종료된 메치업 페이지
  • Service Method: FinishDetail
  • 구현 여부: Back
  • 담당자: 학부생 안광은

Response 예시

{
"clubId" : 1,
"matchDate" :2026-02-04,
"startTime" : 14:00,
"endTime" : 16:00,
"oppositionClubId" : 2,
"phone" : "010-0000-0000",
"location" : "장소"
"ocationDetail" : "주소 상세"
"content" : "상세내용"
 }
GET /api/matchPost/list — 매치업 게시글 기본 목록
  • 사용 페이지: 매치업 게시판 페이지
  • Service Method: list
  • 구현 여부: Back
  • 담당자: 학부생 안광은

Request 예시

"sportCategoryList" : [
"축구", "미식축구"
],
"regionList" : [
"경북", "서울"
],
"startDate" : 2026-02-03,
"endDate" : 2026-03-02,
"keyword" : "멋사"

Response 예시

List [
{
"matchPostId" : 1,
"matchDate" : 2026-01-31,
"sportCategory" : 축구,
"clubId" : 1,
"imageUrl" : "urlurl",
"clubName" : "밀란",
"university" : "한동대학교",
"region" : "경북",
"location" : "포항체육센터",
"mannerScore" : 55
},
{
"matchPostId" : 1,
"matchDate" : 2026-01-31,
"sportCategory" : 축구,
"clubId" : 1,
"imageUrl" : "urlurl",
"clubName" : "밀란",
"university" : "한동대학교",
"region" : "경북",
"location" : "포항체육센터",
"mannerScore" : 55
},
{
"matchPostId" : 1,
"matchDate" : 2026-01-31,
"sportCategory" : 축구,
"clubId" : 1,
"imageUrl" : "urlurl",
"clubName" : "밀란",
"university" : "한동대학교",
"region" : "경북",
"location" : "포항체육센터",
"mannerScore" : 55
}
]
GET /api/matchPost/mine — 내가 쓴 매치업 목록
  • 사용 페이지: 매치업 게시판 페이지
  • Service Method: mineList
  • 구현 여부: Back
  • 담당자: 학부생 안광은

Request 예시

"sportCategoryList" : [
"축구", "미식축구"
],
"regionList" : [
"경북", "서울"
],
"startDate" : 2026-02-03,
"endDate" : 2026-03-02,
"keyword" : "멋사"

Response 예시

List [
{
"matchPostId" : 1,
"matchDate" : 2026-01-31,
"sportCategory" : 축구,
"clubId" : 1,
"imageUrl" : "urlurl",
"clubName" : "밀란",
"university" : "한동대학교",
"region" : "경북",
"location" : "포항체육센터",
"mannerScore" : 55
},
{
"matchPostId" : 1,
"matchDate" : 2026-01-31,
"sportCategory" : 축구,
"clubId" : 1,
"imageUrl" : "urlurl",
"clubName" : "밀란",
"university" : "한동대학교",
"region" : "경북",
"location" : "포항체육센터",
"mannerScore" : 55
},
{
"matchPostId" : 1,
"matchDate" : 2026-01-31,
"sportCategory" : 축구,
"clubId" : 1,
"imageUrl" : "urlurl",
"clubName" : "밀란",
"university" : "한동대학교",
"region" : "경북",
"location" : "포항체육센터",
"mannerScore" : 55
}
]
GET /api/matchPost/ongoing — 진행중 매치업
  • 사용 페이지: 진행중 매치업 페이지
  • Service Method: OngoingList
  • 구현 여부: Back
  • 담당자: 학부생 안광은

Response 예시

List : [
{
"matchPostId" : 1,
"region" : "경북",
"sportCategory" : "미식축구",
"matchDate" : "2026-01-01",
"location" : "매치문화센터",
"clubId" : 1,
"imageUrl" : "urlurl",
"clubName" : "홀램",
"university" : "한동대학교",
"mannerScore" : 50
},
{
{
"matchPostId" : 2,
"region" : "경북",
"sportCategory" : "미식축구",
"matchDate" : "2026-01-01",
"location" : "매치문화센터",
"clubId" : 1,
"imageUrl" : "urlurl",
"clubName" : "홀램",
"university" : "한동대학교",
"mannerScore" : 50
},
]
DELETE /api/matchPost/ongoing/{matchPostId} — 진행중 매치업 종료
  • 사용 페이지: 진행중 매치업 페이지
  • Service Method: OngoingDelete
  • 구현 여부: Back
  • 담당자: 학부생 안광은

Response 예시

{
"matchPostId" : 1
}
GET /api/matchPost/ongoing/{matchPostId} — 진행중 매치업 상세조회
  • 사용 페이지: 진행중 매치업 페이지
  • Service Method: OngoingDetail
  • 구현 여부: Back
  • 담당자: 학부생 안광은

Response 예시

{
"startTime" : "14:00",
"endTime" : "17:00",
"location" : "매치문화센터",
"locationDetail" : "상세주소",
"phone" : "010-0000-0000",
"content" : "…"
 }
GET /api/matchPost/other — 다른 사람이 쓴 매치업 목록
  • 사용 페이지: 매치업 게시판 페이지
  • Service Method: otherList
  • 구현 여부: Back
  • 담당자: 학부생 안광은

Request 예시

"sportCategoryList" : [
"축구", "미식축구"
],
"regionList" : [
"경북", "서울"
],
"startDate" : 2026-02-03,
"endDate" : 2026-03-02,
"keyword" : "멋사"

Response 예시

List [
{
"matchPostId" : 1,
"matchDate" : 2026-01-31,
"sportCategory" : 축구,
"clubId" : 1,
"imageUrl" : "urlurl",
"clubName" : "밀란",
"university" : "한동대학교",
"region" : "경북",
"location" : "포항체육센터",
"mannerScore" : 55
},
{
"matchPostId" : 1,
"matchDate" : 2026-01-31,
"sportCategory" : 축구,
"clubId" : 1,
"imageUrl" : "urlurl",
"clubName" : "밀란",
"university" : "한동대학교",
"region" : "경북",
"location" : "포항체육센터",
"mannerScore" : 55
},
{
"matchPostId" : 1,
"matchDate" : 2026-01-31,
"sportCategory" : 축구,
"clubId" : 1,
"imageUrl" : "urlurl",
"clubName" : "밀란",
"university" : "한동대학교",
"region" : "경북",
"location" : "포항체육센터",
"mannerScore" : 55
}
]
GET /api/matchPost/schedule/detail/{clubId}?matchPostId= — 매치업 스케줄 상세조회
  • 사용 페이지: 스케줄 페이지
  • Service Method: schedule detail
  • 구현 여부: Back
  • 담당자: 학부생 안광은

Response 예시

{
"matchPostId" : 2
"sportCategory" : "축구"
"matchDate" : 2026-02-01
"startTime" : 14:00,
"endTime" : 18:00,
"location" : "주소",
"locationDetail" : "상세주소",
"university" : "한동대학교",
"clubName" : "멋사",
"phone" : "010-0000-0000",
"content" : "상세내용", 
"status" : true
}
GET /api/matchPost/upcoming — 예정 매치업
  • 사용 페이지: 예정된 매치업 페이지
  • Service Method: UpcomingLIst
  • 구현 여부: Back
  • 담당자: 학부생 안광은

Response 예시

List : [
{
"matchPostId" : 1,
"region" : "경북",
"sportCategory" : "미식축구",
"matchDate" : "2026-01-01",
"location" : "매치문화센터",
"clubId" : 1,
"imageUrl" : "urlurl",
"clubName" : "홀램",
"university" : "한동대학교",
"mannerScore" : 50
},
{
{
"matchPostId" : 2,
"region" : "경북",
"sportCategory" : "미식축구",
"matchDate" : "2026-01-01",
"location" : "매치문화센터",
"clubId" : 1,
"imageUrl" : "urlurl",
"clubName" : "홀램",
"university" : "한동대학교",
"mannerScore" : 50
},
]
DELETE /api/matchPost/upcoming/{matchPostId} — 예정 매치업 취소
  • 사용 페이지: 예정된 매치업 페이지
  • Service Method: upcomingDelete
  • 구현 여부: Back
  • 담당자: 학부생 안광은

Request 예시

{
"content" : "…"
}

Response 예시

{
"matchPostId" : 1
}
GET /api/matchPost/upcoming/{matchPostId} — 예정 매치업 상세조회
  • 사용 페이지: 예정된 매치업 페이지
  • Service Method: UpcomingDetail
  • 구현 여부: Back
  • 담당자: 학부생 안광은

Response 예시

{
"startTime" : "14:00",
"endTime" : "17:00",
"location" : "매치문화센터",
"locationDetail" : "상세주소",
"phone" : "010-0000-0000",
"content" : "…"
 }
DELETE /api/matchPost/{matchPostId} — 매치업 게시글 삭제
  • 사용 페이지: 매치업 게시판 페이지
  • Service Method: delete
  • 구현 여부: Back
  • 담당자: 학부생 안광은
DELETE /api/matchPost/{matchPostId} — 매치업 삭제
  • 사용 페이지: 매치업 게시판 페이지
  • Service Method: Delete
  • 구현 여부: Back
  • 담당자: 학부생 안광은

Response 예시

{
"matchPostId" : 1
}
GET /api/matchPost/{matchPostId} — 매치업 게시글 상세내용
  • 사용 페이지: 매치업 게시판 페이지
  • Service Method: detail
  • 구현 여부: Back
  • 담당자: 학부생 안광은

Response 예시

{
"location" : "포항체육센터",
"locationDetail" : "상세주소",
"startTime" : 14:00,
"endTime" : 17:00,
"phone" : "010-0000-0000"
"content" : "상세내용입니다.",
"isMine" : false
}
PUT /api/matchPost/{matchPostId} — 매치업 게시글 수정
  • 사용 페이지: 매치업 게시판 페이지
  • Service Method: update
  • 구현 여부: Back
  • 담당자: 학부생 안광은

Request 예시

{
"sportCategory" : "축구",
"matchDate" : 2026-01-31,
"location" : "포항체육센터",
"locationDetail" : "상세주소",
"startTime" : 14:00,
"endTime" : 17:00,
"content" : "상세내용입니다."
}

Response 예시

{
"matchPostId" : 1
}
PUT /api/matchPost/{matchPostId} — 매치업 수정
  • 사용 페이지: 매치업 게시판 페이지
  • Service Method: Update
  • 구현 여부: Back
  • 담당자: 학부생 안광은

Request 예시

{
"sportCategory" : "미식축구",
"matchDate" : "2026-01-01",
"location" : "매치문화센터",
"startTime" : "11:00",
"endTime" : "17:00",
"content" : "화이팅입니다!"
}

Response 예시

{
"matchPostId" : 1
}

/api/gallery

Method Path 기능 사용 페이지 Service Method 구현 담당자
POST /api/gallery 갤러리 추가 갤러리 페이지 create Back 학부생 안광은
GET /api/gallery/detail/{galleryId} 갤러리 상세보기 갤러리 페이지 - Back 학부생 안광은
POST /api/gallery/match/{clubId} 매치업 갤러리 목록 갤러리 페이지 - Back 학부생 안광은
POST /api/gallery/myClub/{clubId} 우리들의 갤러리 목록 갤러리 페이지 - Back 학부생 안광은
POST /api/gallery/{clubId} 갤러리 기본 목록 갤러리 페이지 - Back 학부생 안광은
DELETE /api/gallery/{galleryId} 갤러리 삭제 갤러리 페이지 - Back 학부생 안광은
PUT /api/gallery/{galleryId} 갤러리 수정 갤러리 페이지 - Back 학부생 안광은
POST /api/gallery — 갤러리 추가
  • 사용 페이지: 갤러리 페이지
  • Service Method: create
  • 구현 여부: Back
  • 담당자: 학부생 안광은

Request 예시

RequestPart
"request" {
"title" : "한마지로와 첫 매치"
"matchDate" : "2026-02-03"
}
 "images" : [
{
imageFile1.jpg,
imageFile2.jpg,
}

Response 예시

{
"galleryId" : 1
}
GET /api/gallery/detail/{galleryId} — 갤러리 상세보기
  • 사용 페이지: 갤러리 페이지
  • 구현 여부: Back
  • 담당자: 학부생 안광은

Response 예시

{
"title" : "멋사 mt",
"matchDate" : 2026-02-03,
"isOfficial" : true,
"isMine" : true,
"imageUrls" : [
"urlurl11111",
"urlurl"22222,
"urlurl3333",
"urlurl4444",
"urlurl55555",
]
}
POST /api/gallery/match/{clubId} — 매치업 갤러리 목록
  • 사용 페이지: 갤러리 페이지
  • 구현 여부: Back
  • 담당자: 학부생 안광은

Request 예시

{
"keyword"
}

Response 예시

List : [
{
"galleryId" : 1,
"title" : "한마지로와의 첫 매칭",
"matchDate" : "2026-02-03",
"imageUrl" : "https://s3.amazonaws.com/example/image1.jpg",
"isOfficial" : true
},
{
"galleryId" : 2,
"title" : "멋사와의 첫 매칭",
"matchDate" : "2026-02-03",
"imageUrl" : "https://s3.amazonaws.com/example/image1.jpg",
"isOfficial" : true
}
]
POST /api/gallery/myClub/{clubId} — 우리들의 갤러리 목록
  • 사용 페이지: 갤러리 페이지
  • 구현 여부: Back
  • 담당자: 학부생 안광은

Request 예시

{
"keyword"
}

Response 예시

List : [
{
"galleryId" : 1,
"title" : "한마지로와의 첫 매칭",
"matchDate" : "2026-02-03",
"imageUrl" : "https://s3.amazonaws.com/example/image1.jpg",
"isOfficial" : false
},
{
"galleryId" : 2,
"title" : "멋사와의 첫 매칭",
"matchDate" : "2026-02-03",
"imageUrl" : "https://s3.amazonaws.com/example/image1.jpg",
"isOfficial" : false
}
]
POST /api/gallery/{clubId} — 갤러리 기본 목록
  • 사용 페이지: 갤러리 페이지
  • 구현 여부: Back
  • 담당자: 학부생 안광은

Request 예시

{
"keyword"
}

Response 예시

List : [
{
"galleryId" : 1,
"title" : "한마지로와의 첫 매칭",
"matchDate" : "2026-02-03",
"imageUrl" : "https://s3.amazonaws.com/example/image1.jpg",
"isOfficial" : true
},
{
"galleryId" : 2,
"title" : "멋사와의 첫 매칭",
"matchDate" : "2026-02-03",
"imageUrl" : "https://s3.amazonaws.com/example/image1.jpg",
"isOfficial" : false
}
]
DELETE /api/gallery/{galleryId} — 갤러리 삭제
  • 사용 페이지: 갤러리 페이지
  • 구현 여부: Back
  • 담당자: 학부생 안광은

Response 예시

{
"galleryId" : 1
}
PUT /api/gallery/{galleryId} — 갤러리 수정
  • 사용 페이지: 갤러리 페이지
  • 구현 여부: Back
  • 담당자: 학부생 안광은

Request 예시

RequestPart
"request" {
"title" : "한마지로와 첫 매치"
"matchDate" : "2026-02-03"
}
 "images" : [
{
imageFile1.jpg,
imageFile2.jpg,
}

Response 예시

{
"galleryId" : 1
}

/api/matchRequest

Method Path 기능 사용 페이지 Service Method 구현 담당자
GET /api/matchRequest/receive 제안 받은 매치업 제안 받은 매치업 ReceiveList Back 학부생 안광은
DELETE /api/matchRequest/receive/{matchRequestId} 제안 받은 매치업 삭제 제안 받은 매치업 ReceiveDelete Back 학부생 안광은
GET /api/matchRequest/receive/{matchRequestId} 제안 받은 매치업 상세 조회 제안 받은 매치업 ReceiveDetail Back 학부생 안광은
PUT /api/matchRequest/receive/{matchRequestId} 제안 받은 매치업 수락하기 제안 받은 매치업 ReceiveUpdate Back 학부생 안광은
GET /api/matchRequest/send 제안한 매치업 제안한 매치업 페이지 SendLIst Back 학부생 안광은
DELETE /api/matchRequest/send/{matchRequestId} 제안한 매치업 취소 제안한 매치업 페이지 SendDelete Back 학부생 안광은
GET /api/matchRequest/send/{matchRequestId} 제안한 매치업 상세 조회 제안한 매치업 페이지 SendDetail Back 학부생 안광은
POST /api/matchRequest/{matchPostId} 매치업 신청 매치업 게시판 페이지 create Back 학부생 안광은
POST /api/matchRequest/{matchPostId} 매치업 신청 스케줄 페이지 - - -
GET /api/matchRequest/receive — 제안 받은 매치업
  • 사용 페이지: 제안 받은 매치업
  • Service Method: ReceiveList
  • 구현 여부: Back
  • 담당자: 학부생 안광은

Response 예시

List : [
{
"matchRequestId" : 1,
"region" : "경북"
"sportCategory" : "축구",
"matchDate" : "2026-02-01",
"location" : 매치문화센터",
"clubId" : 1,
"imageUrl" : 1,
"university" : "한동대학교",
"clubName" : "밀란",
"mannerScore" : 55,
},
{
"matchRequestId" : 2,
"region" : "경북"
"sportCategory" : "축구",
"matchDate" : "2026-02-01",
"location" : 매치문화센터",
"clubId" : 1,
"imageUrl" : 1,
"university" : "한동대학교",
"clubName" : "밀란",
"mannerScore" : 55,
}
]
DELETE /api/matchRequest/receive/{matchRequestId} — 제안 받은 매치업 삭제
  • 사용 페이지: 제안 받은 매치업
  • Service Method: ReceiveDelete
  • 구현 여부: Back
  • 담당자: 학부생 안광은

Request 예시

{
"content" : "거절사유"
}

Response 예시

{
"matchRequestId" : 1
}
GET /api/matchRequest/receive/{matchRequestId} — 제안 받은 매치업 상세 조회
  • 사용 페이지: 제안 받은 매치업
  • Service Method: ReceiveDetail
  • 구현 여부: Back
  • 담당자: 학부생 안광은

Response 예시

{
"startTime" : "14:00",
"endTime" : "17:00",
"location" : "매치문화센터",
"locationDetail" : "상세주소",
"phone" : "010-0000-0000",
"content" : "…"
 }
PUT /api/matchRequest/receive/{matchRequestId} — 제안 받은 매치업 수락하기
  • 사용 페이지: 제안 받은 매치업
  • Service Method: ReceiveUpdate
  • 구현 여부: Back
  • 담당자: 학부생 안광은

Response 예시

{
"matchRequestId" : 1
}
GET /api/matchRequest/send — 제안한 매치업
  • 사용 페이지: 제안한 매치업 페이지
  • Service Method: SendLIst
  • 구현 여부: Back
  • 담당자: 학부생 안광은

Response 예시

List : [
{
"matchRequestId" : 1,
"region" : "경북"
"sportCategory" : "축구",
"matchDate" : "2026-02-01",
"location" : 매치문화센터",
"clubId" : 1,
"imageUrl" : 1,
"university" : "한동대학교",
"clubName" : "밀란",
"mannerScore" : 55,
},
{
"matchRequestId" : 2,
"region" : "경북"
"sportCategory" : "축구",
"matchDate" : "2026-02-01",
"location" : 매치문화센터",
"clubId" : 1,
"imageUrl" : 1,
"university" : "한동대학교",
"clubName" : "밀란",
"mannerScore" : 55,
}
]
DELETE /api/matchRequest/send/{matchRequestId} — 제안한 매치업 취소
  • 사용 페이지: 제안한 매치업 페이지
  • Service Method: SendDelete
  • 구현 여부: Back
  • 담당자: 학부생 안광은

Request 예시

{
"content" : "취소사유"
}

Response 예시

{
"matchRequestId" :  1
}
GET /api/matchRequest/send/{matchRequestId} — 제안한 매치업 상세 조회
  • 사용 페이지: 제안한 매치업 페이지
  • Service Method: SendDetail
  • 구현 여부: Back
  • 담당자: 학부생 안광은

Response 예시

{
"startTime" : "14:00",
"endTime" : "17:00",
"location" : "매치문화센터",
"locationDetail" : "상세주소",
"phone" : "010-0000-0000",
"content" : "…"
 }
POST /api/matchRequest/{matchPostId} — 매치업 신청
  • 사용 페이지: 매치업 게시판 페이지
  • Service Method: create
  • 구현 여부: Back
  • 담당자: 학부생 안광은

Request 예시

{
"startTime" : "15:00",
"endTime" : "17:00"
}

Response 예시

{
"matchRequestId" : 1
}
POST /api/matchRequest/{matchPostId} — 매치업 신청
  • 사용 페이지: 스케줄 페이지

Request 예시

{
"startTime" : 14:00,
"endTime" : 18:00
}

Response 예시

{
"matchRequestId" : 2
}

/api/schedule

Method Path 기능 사용 페이지 Service Method 구현 담당자
POST /api/schedule 스케줄 생성 스케줄 페이지 list Back 학부생 안광은
GET /api/schedule/detail/{scheduleId} 스케줄 상세 조회 스케줄 페이지 detail Back 학부생 안광은
GET /api/schedule/{clubId} 스케줄 페이지 조회 스케줄 페이지 list Back 학부생 안광은
DELETE /api/schedule/{scheduleId} 스케줄 삭제 스케줄 페이지 delete Back 학부생 안광은
PUT /api/schedule/{scheduleId} 스케줄 수정 스케줄 페이지 update Back 학부생 안광은
POST /api/schedule — 스케줄 생성
  • 사용 페이지: 스케줄 페이지
  • Service Method: list
  • 구현 여부: Back
  • 담당자: 학부생 안광은

Request 예시

{
"title" : "동아리 MT",
"startDate" : "2026-02-03",
"endDate" : "2026-02-03",
"startTime" : "14:00",
"endTime" : "16:00"
}

Response 예시

{
"scheduleId" : 1
}
GET /api/schedule/detail/{scheduleId} — 스케줄 상세 조회
  • 사용 페이지: 스케줄 페이지
  • Service Method: detail
  • 구현 여부: Back
  • 담당자: 학부생 안광은

Response 예시

{
"scheduleId" : 1,
"title" : "멋사mt",
"startDate" : 2026-01-02,
"endDate" : 2026-01-04,
"startTime" : 14:00,
"endTime" : 18:00
}
GET /api/schedule/{clubId} — 스케줄 페이지 조회
  • 사용 페이지: 스케줄 페이지
  • Service Method: list
  • 구현 여부: Back
  • 담당자: 학부생 안광은

Response 예시

{
"isMine" : true,
"scheduleResDtoList" : [
{
"scheduleId" : 1,
"title" : "멋사mt",
"startDate" : 2026-01-02,
"endDate" : 2026-01-04
},
{
"scheduleId" : 2,
"title" : "멋사mt",
"startDate" : 2026-01-02,
"endDate" : 2026-01-04
}
]
"matchPostResDtoList" : [
{
"matchPostId" : 2,
"matchDate" : 2026-03-09,
"university" : "한동대학교",
"clubName" : "멋사",
"status" : true
},
{
"matchPostId" : 3,
"matchDate" : 2026-03-09,
"university" : "한동대학교",
"clubName" : "멋사",
"status" : false
}
]
DELETE /api/schedule/{scheduleId} — 스케줄 삭제
  • 사용 페이지: 스케줄 페이지
  • Service Method: delete
  • 구현 여부: Back
  • 담당자: 학부생 안광은

Response 예시

{
"scheduleId" : 1
}
PUT /api/schedule/{scheduleId} — 스케줄 수정
  • 사용 페이지: 스케줄 페이지
  • Service Method: update
  • 구현 여부: Back
  • 담당자: 학부생 안광은

Request 예시

{
"title" : "멋사 mt",
"startDate" : 2026-02-01,
"endDate" : 2026-02-05,
"startTime" : 14:00,
"endTime" : 19:00
}

Response 예시

{
"scheduleId" : 1
}

/api/univ

Method Path 기능 사용 페이지 Service Method 구현 담당자
POST /api/univ 학교 찾기 회원가입 페이지 - - -
POST /api/univ — 학교 찾기
  • 사용 페이지: 회원가입 페이지

Request 예시

{
"keyword" : "한동대학교"
}

Response 예시

{
"univId" : 1
"name" : "한동대학교"
"address" : "handong.ac.kr"
}

/api/matchHistory

Method Path 기능 사용 페이지 Service Method 구현 담당자
POST /api/matchHistory 히스토리 생성 히스토리 페이지 - - -
POST /api/matchHistory/addList/{clubId} 추가된 히스토리 목록 히스토리 페이지 - - -
POST /api/matchHistory/createList/{clubId} 생성된 히스토리 목록 히스토리 페이지 - - -
POST /api/matchHistory/finish/{matchPostId} 히스토리 작성 종료된 메치업 페이지 - Back 학부생 안광은
POST /api/matchHistory/{clubId} 기본 히스토리 목록 히스토리 페이지 - - -
DELETE /api/matchHistory/{matchHistoryId} 히스토리 삭제 히스토리 페이지 - - -
GET /api/matchHistory/{matchHistoryId} 히스토리 수정 조회 히스토리 페이지 - - -
PUT /api/matchHistory/{matchHistoryId} 히스토리 수정 히스토리 페이지 - - -
POST /api/matchHistory — 히스토리 생성
  • 사용 페이지: 히스토리 페이지

Request 예시

{
"matchDate" : 2026-03-01,
"location" : "매치 장소",
"awayClubId" : 1,
"matchType" : true,
"result" : "승"
}

Response 예시

{
"matchHistoryId" : 1
}
POST /api/matchHistory/addList/{clubId} — 추가된 히스토리 목록
  • 사용 페이지: 히스토리 페이지

Request 예시

{
"keyword" : "검색"
}

Response 예시

{
"isMine" : true,
"matchHistoryList" : [
{
"matchHistoryId" : 1,
"matchDate" : 2026-01-03,
"awayClubId" : 2,
"imageUrl" : "urlurl",
"clubName" : "멋사",
"university" : "한동대학교",
"location" : "장소",
"matchType" : true,
"result" : "승"
},
{
"matchHistoryId" : 2,
"matchDate" : 2026-01-03,
"awayClubId" : 2,
"imageUrl" : "urlurl",
"clubName" : "멋사",
"university" : "한동대학교",
"location" : "장소",
"matchType" : false,
"result" : ""
},
{
"matchHistoryId" : 3,
"matchDate" : 2026-01-03,
"awayClubId" : 2,
"imageUrl" : "urlurl",
"clubName" : "멋사",
"university" : "한동대학교",
"location" : "장소",
"matchType" : true,
"result" : "승"
},
]
}
POST /api/matchHistory/createList/{clubId} — 생성된 히스토리 목록
  • 사용 페이지: 히스토리 페이지

Request 예시

{
"keyword" : "검색"
}

Response 예시

{
"isMine" : true,
"matchHistoryList" : [
{
"matchHistoryId" : 1,
"matchDate" : 2026-01-03,
"awayClubId" : 2,
"imageUrl" : "urlurl",
"clubName" : "멋사",
"university" : "한동대학교",
"location" : "장소",
"matchType" : true,
"result" : "승"
},
{
"matchHistoryId" : 2,
"matchDate" : 2026-01-03,
"awayClubId" : 2,
"imageUrl" : "urlurl",
"clubName" : "멋사",
"university" : "한동대학교",
"location" : "장소",
"matchType" : false,
"result" : ""
},
{
"matchHistoryId" : 3,
"matchDate" : 2026-01-03,
"awayClubId" : 2,
"imageUrl" : "urlurl",
"clubName" : "멋사",
"university" : "한동대학교",
"location" : "장소",
"matchType" : true,
"result" : "승"
},
]
}
POST /api/matchHistory/finish/{matchPostId} — 히스토리 작성
  • 사용 페이지: 종료된 메치업 페이지
  • 구현 여부: Back
  • 담당자: 학부생 안광은

Request 예시

RequestPart
"request" {
"title" : "한마지로와 첫 매치"
"matchType" : "true",
"result" : "승",
"mannerScore" : "true",
"rematch" : "true"
}
 "images" : [
{
imageFile1.jpg,
imageFile2.jpg,
}

matchType이 
true면 경기 이고 
false면 교류

mannerScore가 
true면 업,
false면 다운

Response 예시

{
"matchHistoryId" : 1
}
POST /api/matchHistory/{clubId} — 기본 히스토리 목록
  • 사용 페이지: 히스토리 페이지

Request 예시

{
"keyword" : "검색"
}

Response 예시

{
"isMine" : true,
"matchHistoryList" : [
{
"matchHistoryId" : 1,
"matchDate" : 2026-01-03,
"awayClubId" : 2,
"imageUrl" : "urlurl",
"clubName" : "멋사",
"university" : "한동대학교",
"location" : "장소",
"matchType" : true,
"result" : "승"
},
{
"matchHistoryId" : 2,
"matchDate" : 2026-01-03,
"awayClubId" : 2,
"imageUrl" : "urlurl",
"clubName" : "멋사",
"university" : "한동대학교",
"location" : "장소",
"matchType" : false,
"result" : ""
},
{
"matchHistoryId" : 3,
"matchDate" : 2026-01-03,
"awayClubId" : 2,
"imageUrl" : "urlurl",
"clubName" : "멋사",
"university" : "한동대학교",
"location" : "장소",
"matchType" : true,
"result" : "승"
},
]
}
DELETE /api/matchHistory/{matchHistoryId} — 히스토리 삭제
  • 사용 페이지: 히스토리 페이지

Response 예시

{
"matchHistoryId" : 1
}
GET /api/matchHistory/{matchHistoryId} — 히스토리 수정 조회
  • 사용 페이지: 히스토리 페이지

Response 예시

{
"matchDate" : 2026-03-1,
"location" : "장소",
"awayClubId" : 1,
"awayClubName" : "멋사",
"matchType" : true,
"result" : "승"
}
PUT /api/matchHistory/{matchHistoryId} — 히스토리 수정
  • 사용 페이지: 히스토리 페이지

Request 예시

{
"matchDate" : 2026-03-01,
"location" : "매치 장소",
"awayClubId" : 1,
"matchType" : true,
"result" : "승"
}

Response 예시

{
"matchHistoryId" : 1
}

/api/login

Method Path 기능 사용 페이지 Service Method 구현 담당자
POST /api/login 로그인 (RefreshToken) 로그인 페이지 - Back 학부생 안광은
POST /api/login — 로그인 (RefreshToken)
  • 사용 페이지: 로그인 페이지
  • 구현 여부: Back
  • 담당자: 학부생 안광은

Request 예시

{
"username" : "test",
"password" : "1111"
}

Response 예시

{
"RefreshToken" : "Bearer …"
}

/api/auth

Method Path 기능 사용 페이지 Service Method 구현 담당자
DELETE /api/auth 로그아웃 설정 페이지 - Back 학부생 안광은
POST /api/auth 로그인 (AccessToken) 로그인 페이지 - Back 학부생 안광은
DELETE /api/auth — 로그아웃
  • 사용 페이지: 설정 페이지
  • 구현 여부: Back
  • 담당자: 학부생 안광은
POST /api/auth — 로그인 (AccessToken)
  • 사용 페이지: 로그인 페이지
  • 구현 여부: Back
  • 담당자: 학부생 안광은

Request 예시

{
"username" : "test",
"password" : "1111"
}

Response 예시

{
"Authorization : "Bearer …"
}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages