- Spring Boot
- JPA
- TDD
- Reactive Programming (24.01.23)
main > develop > feature
feature에서 작업한 부분 develop에 머지 시 PR
일주일 간격 Sprint 끝나면 develop main으로 머지
머지 시에는 --no-ff
- 회원 등록
POST /users
{
"userId": "test@naver.com",
"nickname": "test",
"password": "asdf...", # encoded SHA-256
"email": "test@naver.com"
}
{
"isSuccess": true,
"message": null,
"data": {
"userNum": 1
}
}
- 회원 정보 수정
PUT /users/{userNum}
{
"nickname": "asdf",
"password": "asdfasf..",
"email": "test@daum.net"
}
{
"isSuccess": true,
"message": null,
"data": null
}
- 회원 탈퇴
DELETE /users/{userNum}
{
"x-access-token": "asdfefdf~"
}
{
"isSuccess": true,
"message": null,
"data": null
}
- 로그인
POST /auth/login
{
"userId": "test@naver.com",
"password": "asdfasdf" # encoded SHA-256
}
{
"isSuccess": true,
"message": null,
"data": {
"token": "IEmeifeif~~"
}
}
- 로그아웃
DELETE /auth/logout/{userNum}
{
"x-access-token": "IEmeifeif~~"
}
{
"isSuccess": true,
"message": null,
"data": null
}
- 운동 등록
POST /exercises
{
"exerciseName": "bench press",
"exerciseTypeId": 1,
"bodyPartId": 1
}
{
"isSuccess": true,
"message": null,
"data": null
}
- 운동 수정
PUT /exercises/{exerciseId}
{
"exerciseName": "change",
"exerciseTypeId": 2,
"bodyPartId": 2
}
{
"isSuccess": true,
"message": null,
"data": null
}
- 운동 조회
GET /exercises/{exerciseId}
{
"isSuccess": true,
"message": null,
"data": null
}
- 운동 삭제
DELETE /exercises/{exerciseId}
{
"isSuccess": true,
"message": null,
"data": null
}
- 수행한 운동 등록
POST /users/{userNum}/exercises/{exerciseId}
{
"date": "2021-05-27 15:00:00",
"exerciseCount": 10,
"setCount": 3
}
{
"isSuccess": true,
"message": null,
"data": null
}
- 수행한 운동 수정
PUT /users/{userNum}/exercises/{exercisesId}/maps/{mapId}
{
"exerciseCount": 12,
"setCount": 5
}
{
"isSuccess": true,
"message": null,
"data": null
}
- 수행한 운동 조회
GET /users/{userNum}/exercises/{exercisesId}/maps/{mapId}
{
"isSuccess": true,
"message": null,
"data": {
"exerciseName": "bench press",
"exerciseCount": 12,
"date": "2021-05-27 15:00:00",
"setCount": 4,
"exerciseTypeId": 1,
"bodyPartId": 3
}
}
- 수행한 운동 전체 조회
GET /users/{userNum}/exercises
{
"isSuccess": true,
"message": null,
"data": {
"exercises" : [
{
"exerciseName": "bench press",
"exerciseCount": 12,
"date": "2021-05-27 15:00:00",
"setCount": 4,
"exerciseTypeId": 1,
"bodyPartId": 3
},
{
...
}
]
}
}
- 수행한 운동 삭제
DELETE /users/{userNum}/exercises/{exerciseId}/maps/{mapId}
{
"isSuccess": true,
"message": null,
"data": null
}
- 루틴 등록
POST /users/{userNum}/routines
{
"routineName": "hi",
"dayOfWeek": 4
}
{
"isSuccess": true,
"message": null,
"data": null
}
- 루틴 수정
PUT /users/{userNum}/routines/{routineId}
{
"routineName": "change",
"dayOfWeek": 3
}
{
"isSuccess": true,
"message": null,
"data": null
}
- 루틴 조회
GET /users/{userNum}/routines/{routineId}
{
"isSuccess": true,
"message": null,
"data": {
"routineName": "test",
"dayOfWeek": 3
}
}
- 전체 루틴 조회
GET /users/{userNum}/routines
{
"isSuccess": true,
"message": null,
"data": {
"routines": [
{
"routineName": "test",
"dayOfWeek": 3
},
{
...
}
]
}
}
- 루틴 삭제
DELETE /users/{userNum}/routines/{routineId}
{
"isSuccess": true,
"message": null,
"data": null
}