Skip to content

Commit

Permalink
Feature/#165 해커톤 api 구현 (#237)
Browse files Browse the repository at this point in the history
* feat: 해커톤, 해커톤팀, 해커톤 팀원 관련 테이블 정의

#165

* feat: 해커톤, 해커톤팀, 해커톤팀원 클래스 정의

#165

* feat: 해커톤, 해커톤팀, 해커톤팀원 레포지토리 정의

#165

* feat: 해커톤 관련 예외 및 예외 타입 정의

#165

* feat: 해커톤 등록 API 구현

#209

* feat: 해커톤 관리자의 목록 조회 구현

#165

* feat: 해커톤 상세 조회 API 구현

#165

* feat: 해커톤 수정 API 구현

#165

* feat: 해커톤 삭제 API 구현

#165

* feat: 해커톤 투표 결과 엑셀 파일 다운로드 API 구현

#165

* feat: 해커톤 활성 여부 변경 API 구현

#165

* feat: 해커톤 팀 등수 수정 API 구현

#165

* feat: 해커톤 목록 조회 시 대회 시작일 기준으로 내림차순 정렬

#165

* feat: hackathon vote 테이블 추가

#165

* feat: 관리자의 해커톤 전체 목록 조회 API test 추가

#165

* feat: 관리자의 해커톤 상세 조회 API test 추가

#165

* feat: 관리자의 해커톤 등록 API Test 추가

#165

* feat: 관리자의 해커톤 수정 API test 추가

#165

* feat: 관리자의 해커톤 삭제 API test

#165

* feat: 관리자의 해커톤 투표 결과 다운로드 API test 추가

#165

* feat: 관리자의 해커톤 활성화 상태 수정 API test

#165

* feat: 관리자의 해커톤 팀 상장 수정 API test 추가

#165

* feat: 관리자의 해커톤 팀 수정 API 구현 및 test 추가

#165

* feat: 관리자의 해커톤 팀 삭제 API 구현 및 test 추가

#165

* feat: 일반 해커톤 조회 API 구현 및 test 코드 작성

#165

* feat: 일반 사용자의 해커톤 조회 및 test 코드 작성

#165

* feat: 해커톤 상장 조회 API 구현 및 test 코드 작성

#165

* feat: 해커톤 팀의 목록 조회 API 구현 및 test 코드 작성

#165

* feat: 해커톤 팀 조회 시 response에 팀원 목록 추가

#165

* feat: 해커톤 팀 상세 조회 API 구현 및 test 작성

#165

* feat: 해커톤 팀 등록 API 구현 및 test 코드 작성

#165

* feat: 해커톤 팀 수정 API 구현 및 test 코드 작성

#165

* feat: 해커톤 팀 삭제 API 구현 및 test 코드 작성

#165

* feat: 해커톤 팀 투표 및 투표 취소 API 구현 및 test 코드 작성

#165

* feat: 해커톤 투표 조회 API 구현 및 test 코드 작성

#165
  • Loading branch information
llddang authored Jan 1, 2025
1 parent dd93a46 commit 67c8f20
Show file tree
Hide file tree
Showing 56 changed files with 3,486 additions and 16 deletions.
289 changes: 289 additions & 0 deletions backend/src/docs/asciidoc/index.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -349,3 +349,292 @@ include::{snippets}/admin-auth-delete/request-body.adoc[]

.HTTP Response
include::{snippets}/admin-auth-delete/http-response.adoc[]

== 관리자 - 해커톤

=== `GET`: 관리자의 해커톤 전체 목록 조회

.HTTP Request
include::{snippets}/admin-hackathon-find-all/http-request.adoc[]

.Path Parameters
include::{snippets}/admin-hackathon-find-all/query-parameters.adoc[]

.HTTP Response
include::{snippets}/admin-hackathon-find-all/http-response.adoc[]

.Response Body
include::{snippets}/admin-hackathon-find-all/response-fields.adoc[]

=== `GET`: 관리자의 특정 해커톤 조회

.HTTP Request
include::{snippets}/admin-hackathon-find/http-request.adoc[]

.Path Parameters
include::{snippets}/admin-hackathon-find/path-parameters.adoc[]

.HTTP Response
include::{snippets}/admin-hackathon-find/http-response.adoc[]

.Response Body
include::{snippets}/admin-hackathon-find/response-fields.adoc[]

=== `POST`: 관리자의 해커톤 생성

.HTTP Request
include::{snippets}/admin-hackathon-register/http-request.adoc[]

.Request Body
include::{snippets}/admin-hackathon-register/request-parts.adoc[]

.HTTP Response
include::{snippets}/admin-hackathon-register/http-response.adoc[]

=== `PATCH`: 관리자의 해커톤 수정

.HTTP Request
include::{snippets}/admin-hackathon-update/http-request.adoc[]

.Request Body
include::{snippets}/admin-hackathon-update/request-parts.adoc[]

.Path Parameters
include::{snippets}/admin-hackathon-update/path-parameters.adoc[]

.HTTP Response
include::{snippets}/admin-hackathon-update/http-response.adoc[]

=== `DELETE`: 관리자의 해커톤 삭제

.HTTP Request
include::{snippets}/admin-hackathon-delete/http-request.adoc[]

.Path Parameters
include::{snippets}/admin-hackathon-delete/path-parameters.adoc[]

.HTTP Response
include::{snippets}/admin-hackathon-delete/http-response.adoc[]

=== `GET`: 관리자의 해커톤 투표 결과 다운로드

.HTTP Request
include::{snippets}/admin-hackathon-download-vote/http-request.adoc[]

.Path Parameters
include::{snippets}/admin-hackathon-download-vote/path-parameters.adoc[]

.HTTP Response
include::{snippets}/admin-hackathon-download-vote/http-response.adoc[]

=== `PATCH`: 관리자의 해커톤 활성화 수정

.HTTP Request
include::{snippets}/admin-hackathon-update-active/http-request.adoc[]

.Path Parameters
include::{snippets}/admin-hackathon-update-active/path-parameters.adoc[]

.Request Body
include::{snippets}/admin-hackathon-update-active/request-fields.adoc[]

.HTTP Response
include::{snippets}/admin-hackathon-update-active/http-response.adoc[]

=== `PATCH`: 관리자의 해커톤 팀의 상장 수정

.HTTP Request
include::{snippets}/admin-hackathon-change-prize/http-request.adoc[]

.Path Parameters
include::{snippets}/admin-hackathon-change-prize/path-parameters.adoc[]

.Request Body
include::{snippets}/admin-hackathon-change-prize/request-fields.adoc[]

.HTTP Response
include::{snippets}/admin-hackathon-change-prize/http-response.adoc[]


== 관리자 - 해커톤 팀
=== `PATCH`: 관리자의 해커톤 팀 수정

.HTTP Request
include::{snippets}/admin-hackathon-team-update/http-request.adoc[]

.Path Parameters
include::{snippets}/admin-hackathon-team-update/path-parameters.adoc[]

.Request Body
include::{snippets}/admin-hackathon-team-update/request-fields.adoc[]

.HTTP Response
include::{snippets}/admin-hackathon-team-update/http-response.adoc[]

=== `DELETE`: 관리자의 해커톤 팀 삭제

.HTTP Request
include::{snippets}/admin-hackathon-team-delete/http-request.adoc[]

.Path Parameters
include::{snippets}/admin-hackathon-team-delete/path-parameters.adoc[]

.HTTP Response
include::{snippets}/admin-hackathon-team-delete/http-response.adoc[]

== 일반 - 해커톤

=== `GET`: 해커톤 전체 조회

.HTTP Request
include::{snippets}/hackathon-find-all/http-request.adoc[]

.Path Parameters
include::{snippets}/hackathon-find-all/query-parameters.adoc[]

.HTTP Response
include::{snippets}/hackathon-find-all/http-response.adoc[]

.Response Body
include::{snippets}/hackathon-find-all/response-fields.adoc[]

=== `GET`: 해커톤 상세 조회

.HTTP Request
include::{snippets}/hackathon-find/http-request.adoc[]

.Path Parameters
include::{snippets}/hackathon-find/path-parameters.adoc[]

.HTTP Response
include::{snippets}/hackathon-find/http-response.adoc[]

.Response Body
include::{snippets}/hackathon-find/response-fields.adoc[]


=== `GET`: 해커톤 상장 조회

.HTTP Request
include::{snippets}/hackathon-find-prize/http-request.adoc[]

.Path Parameters
include::{snippets}/hackathon-find-prize/path-parameters.adoc[]

.HTTP Response
include::{snippets}/hackathon-find-prize/http-response.adoc[]

.Response Body
include::{snippets}/hackathon-find-prize/response-fields.adoc[]


== 일반 - 해커톤 팀

=== `GET`: 해커톤 팀 목록 조회

.HTTP Request
include::{snippets}/hackathon-team-find-all/http-request.adoc[]

.Path Parameters
include::{snippets}/hackathon-team-find-all/path-parameters.adoc[]

.HTTP Response
include::{snippets}/hackathon-team-find-all/http-response.adoc[]

.Response Body
include::{snippets}/hackathon-team-find-all/response-fields.adoc[]


=== `GET`: 해커톤 팀 상세 조회

.HTTP Request
include::{snippets}/hackathon-team-find/http-request.adoc[]

.Path Parameters
include::{snippets}/hackathon-team-find/path-parameters.adoc[]

.HTTP Response
include::{snippets}/hackathon-team-find/http-response.adoc[]

.Response Body
include::{snippets}/hackathon-team-find/response-fields.adoc[]


=== `POST`: 해커톤 팀 등록

.HTTP Request
include::{snippets}/hackathon-team-register/http-request.adoc[]

.Path Parameters
include::{snippets}/hackathon-team-register/path-parameters.adoc[]

.Request Body
include::{snippets}/hackathon-team-register/request-parts.adoc[]

.HTTP Response
include::{snippets}/hackathon-team-register/http-response.adoc[]


=== `PATCH`: 해커톤 팀 수정

.HTTP Request
include::{snippets}/hackathon-team-update/http-request.adoc[]

.Path Parameters
include::{snippets}/hackathon-team-update/path-parameters.adoc[]

.Request Body
include::{snippets}/hackathon-team-update/request-fields.adoc[]

.HTTP Response
include::{snippets}/hackathon-team-update/http-response.adoc[]


=== `DELETE`: 해커톤 팀 삭제

.HTTP Request
include::{snippets}/hackathon-team-delete/http-request.adoc[]

.Path Parameters
include::{snippets}/hackathon-team-delete/path-parameters.adoc[]

.HTTP Response
include::{snippets}/hackathon-team-delete/http-response.adoc[]


== 일반 - 해커톤 팀 투표

=== `GET`: 헤커톤 팀 투표 조회
.HTTP Request
include::{snippets}/hackathon-team-vote/http-request.adoc[]

.Path Parameters
include::{snippets}/hackathon-team-vote/path-parameters.adoc[]

.HTTP Response
include::{snippets}/hackathon-team-vote/http-response.adoc[]

.Response Body
include::{snippets}/hackathon-team-vote/response-fields.adoc[]


=== `POST`: 헤커톤 팀 투표 등록
.HTTP Request
include::{snippets}/hackathon-team-vote-register/http-request.adoc[]

.Path Parameters
include::{snippets}/hackathon-team-vote-register/path-parameters.adoc[]

.HTTP Response
include::{snippets}/hackathon-team-vote-register/http-response.adoc[]


=== `DELETE`: 헤커톤 팀 투표 취소
.HTTP Request
include::{snippets}/hackathon-team-vote-cancel/http-request.adoc[]

.Path Parameters
include::{snippets}/hackathon-team-vote-cancel/path-parameters.adoc[]

.HTTP Response
include::{snippets}/hackathon-team-vote-cancel/http-response.adoc[]
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ private Workbook generateWorkbook(final MultipartFile file, String extension) {
}

private void saveFaculty(final String email, final String name, final String password) {
Member member = new Member(email, name, password, "01000000000", false);
Member member = new Member(email, name, password, "01000000000");

final Member savedMember = memberRepository.save(member);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,11 @@ public record RegisterFacultyRequest(
String name) {

public Member toMember(String password) {
return new Member(email, name, password, "01000000000", false);
return new Member(email, name, password, "01000000000");
}

public Member toMember(Long memberId, String password) {
return new Member(memberId, email, name, password, "01000000000", false);
return new Member(memberId, email, name, password, "01000000000");
}

public FacultyMember toFacultyMember(Long memberId, String password) {
Expand Down
Loading

0 comments on commit 67c8f20

Please sign in to comment.