모운완이라는 웬 어플리케이션 서버를 개발하고 운영하는것이 목적이다!
서버의 API스펙을 어던 규칙에 따라 정의할 것인지 나타내는 API설계원칙을 먼저 작성해보고자 한다.
HTTP API로 설계하고자 한다.
API하면 REST를 많이 들어봤지만 REST의 원칙을 모두 지키는것이 힘들다고 판단하였다.
그리고 꼭 API가 REST일 필요는 없는것이다.
또한 직렬화 포맷은 JSON을 사용하려고한다. 키밸류 매핑과 배열표현이 커버되고 여러가지 데이터 타입을 받을 수 있기 때문이다. 또한 프론트단과 주고받을때 대부분 JSON을 쓴다고 알고있었따..!
구현에 들어가기에 앞서 API스펙을 간단히 한두줄로 정리해보고자 한다!
그전에 API설계를 하려면 앞전에 정리해두었던 기능명세를 보아야한다.
📌모운완 요구사항 정의서
더보기
📌모운완 요구사항 정의서
요구사항ID | 요구사항명 | 기능ID | 기능명 | 상세기능 | 필수데이터 | 선택데이터 | 권한 |
CLUB_01
|
클럽 생성
|
CLUB01_CREATE01 | 운동클럽 모임 생성 | 운동클럽을 생성한다 | 클럽 이름, 클럽 운동 종목, 인원 | 클럽 관리자만 가능 | |
CLUB01_CREATE02 | 운동종목 등록 | 클럽의 운동 종목을 선택한다 | 클럽 운동 종목 | 클럽 관리자만 가능 | |||
클럽 공개
|
CLUB02_OPEN01 | 클럽 공개 | 생성된 클럽을 공개로 돌린다.(비공개가 디폴트) | 클럽 관리자만 가능 | |||
CLUB02_OPEN02 | 클럽 비공개 | 클럽을 드래프트로 전환한다. | 클럽 관리자만 가능 | ||||
클럽 종료 | CLUB03_CLOSE01 | 클럽 종료 | 클럽을 종료한다. | 클럽 관리자만 가능 | |||
클럽 인원모집 | CLUB04_ADDMEMBER01 | 클럽 인원모집 | 생성된 클럽에 인원모집을 시작한다. | 클럽 관리자만 가능 | |||
클럽 경로변경 | CLUB05_PATH01 | 클럽 접속 경로 변경 | 클럽이 기존 접속 경로를 변경한다. | 경로주소 | 클럽 관리자만 가능 | ||
클럽 삭제 | CLUB06_DELETE01 | 클럽 삭제 | 종료된 클럽을 삭제한다. | 클럽 관리자만 가능 | |||
클럽 가입
|
CLUB07_JOIN01 | 클럽 가입 신청 | 인원 모집을 하는 클럽에 참여를 신청한다. | ||||
CLUB07_JOIN02 | 클럽 가입 수락 | 가입 신청한 멤버를 클럽 가입에 수락한다. | 클럽 관리자만 가능 | ||||
CLUB07_JOIN03 | 클럽 가입 거절 | 가입 신청한 멤버를 클럽 가입에 거절한다. | 클럽 관리자만 가능 | ||||
클럽 탈퇴 | CLUB08_DROP01 | 클럽 탈퇴 | 가입한 클럽에서 탈퇴한다. | ||||
MEM_01
|
로그인
|
MEM01_LOGIN01 | 로그인 기능 | 우리 기능을 사용하기 위해 로그인 필수 | ID, 비밀번호 | ||
MEM01_LOGIN02 | 아이디 찾기 | 이메일 주소와 이름을 입력하면 해당 아이디를 보여준다. | 아이디, 이메일주소 | ||||
MEM01_LOGIN03 | 비밀번호 재설정 | 받은 이메일로 비밀번호를 재설정할 수 있다. | 아이디, 이메일주소 | ||||
MEM_02
|
회원가입
|
MEM02_SIGNUP01 | 회원가입 | 회원가입을 한다. | 이름, 비밀번호, 이메일 주소 | ||
MEM02_SIGNUP02 | 이메일 인증 | 이메일 인증 확인으로 회원가입을 완료한다. | 이메일주소 | ||||
MEM_03 | 로그아웃 | MEM03_LOGOUT01 | 로그아웃 | 로그아웃 한다. | |||
MEM_04
|
프로필
|
MEM04_PROFILE01 | 프로필 이미지 등록 | 계정의 프로필 이미지를 등록한다 | 프로필 이미지 | ||
MEM04_PROFILE02 | 프로필 이미지 삭제 | 계정의 프로필 이미지를 삭제한다 | |||||
MEM04_PROFILE03 | 프로필 정보 입력 | 계정의 프로필 정보를 입력한다 | |||||
NOTICE_01
|
알림설정 | NOTICE01_SET01 | 알림 방법 설정 | 웹알림으로 받을지 이메일알림으로 받을지 알림 방법을 선택한다 | |||
알림 목록조회 | NOTICE02_LIST01 | 알림 목록 조회 | 알림 목록을 조회한다. | ||||
알림 구분 | NOTICE03_SORT01 | 알림 구분 | 읽은 알림과 읽지 않은 알림을 구분한다. | ||||
클럽 관련 알림
|
NOTICE03_CLUB01 | 클럽 변경사항 알림 설정 | 참여중인 클럽의 변경사항의 알림을 설정한다 | ||||
NOTICE03_CLUB02 | 클럽 가입신청 알림 설정 | 가입신청한 클럽의 신청 여부 확인 알림을 설정한다 | |||||
GATHER_01
|
모임
|
GATHER01_LIST01 | 모임 조회 | 개설된 모임 목록을 조회한다 | |||
GATHER02_OPEN01 | 모임 개설 | 모임을 개설한다 | 클럽 관리자만 가능 | ||||
GATHER03_MODIFIY01 | 모임 내용 수정 | 개설한 모임 내용을 수정한다 | 클럽 관리자만 가능 | ||||
GATHER04_CANCEL01 | 개설한 모임 취소 | 개설한 모임을 취소한다 | 클럽 관리자만 가능 | ||||
GATHER_02
|
모임참여
|
GATHER05_JOIN01 | 모임 참여신청 | 모임에 참여 신청을 한다 | |||
GATHER05_JOIN02 | 모임 참여취소 | 참여신청한 모임에 참여를 취소한다 | |||||
GATHER05_JOIN03 | 모임 참여신청 수락 | 참여신청 멤버를 참여에 수락한다 | 클럽 관리자만 가능 | ||||
GATHER05_JOIN04 | 모임 참여신청 거절 | 참여신청 멤버를 참여에 수락한다 | 클럽 관리자만 가능 | ||||
GATHER05_JOIN05 | 모임 참여 여부 체크 | 모임 참여여부를 체크한다 | 클럽 관리자만 가능 | ||||
CATEGORY_01
|
관심운동
|
CATEGORY01_REGIST01 | 관심운동 종목을 등록한다 | 관심운동 종목을 등록한다 | |||
CATEGORY02_DELETE01 | 관심운동 종목을 삭제한다 | 관심운동 종목을 삭제한다 |
✔️API 스펙 설계
'개인프로젝트' 카테고리의 다른 글
d (0) | 2024.04.17 |
---|---|
22 (0) | 2024.04.08 |
Gitghub Actions로 CI/CD 파이프라인 구축하기 大 삽질일기 - 5 (0) | 2024.04.06 |
Gitghub Actions로 CI/CD 파이프라인 구축하기 大 삽질일기 - 4 (0) | 2024.04.04 |
Gitghub Actions로 CI/CD 파이프라인 구축하기 大 삽질일기 - 3 (0) | 2024.04.02 |