▼ 회의록
진행해야 할 사항
- AWS 서버에 Doggram 프로젝트 배포
- 배포가 되지 않는 문제 해결
➜ 테스트하려고 넣어둔 data.sql 소스파일을 지우지 않고 배포하려고 해서 안됐던 것
- 배포가 되지 않는 문제 해결
▼ 개발 상황 ( Back - end )
- 필요한 API들은 거의 구현 완료
clubs - 동아리 관련 API
1. 동아리 상세 페이지 API
- Request
GET ➜ {{http}}/clubs/all
- Response
{
"status": 200,
"responseMessage": "동아리 세부정보 API",
"data": {
"clubId": 1,
"college": "정보통신대학",
"division": "학술분과",
"clubName": "Tools",
"clubCreated": "2023-07-23",
"content": "홍보글..",
"recruitmentPeriod": "23-07-21,23-07-23",
"recruitment": true
}
}
2. 등록된 모든 동아리 리스트 API
- Request
GET ➜ {{http}}/clubs/all
- Response
{
"status": 200,
"responseMessage": "모든 동아리 정보 API",
"data": [
{
"clubId": 1,
"college": "정보통신대학",
"division": "학술분과",
"clubName": "Tools",
"recruitment": true
},
{
"clubId": 2,
"college": "정보통신대학",
"division": "학술분과",
"clubName": "PLUM",
"recruitment": true
},
{
"clubId": 3,
"college": "중앙동아리",
"division": "체육분과",
"clubName": "AFK",
"recruitment": true
},
{
"clubId": 4,
"college": "중앙동아리",
"division": "공연분과",
"clubName": "세마치",
"recruitment": true
}
]
}
3. 카테고리에서 선택된 동아리 리스트 API
- Request
GET ➜ {{http}}/clubs?collegeIds==
- Response
{
"status": 200,
"responseMessage": "선택된 동아리 정보 API",
"data": [
{
"clubId": 3,
"college": "중앙동아리",
"division": "체육분과",
"clubName": "AFK",
"recruitment": true
},
{
"clubId": 4,
"college": "중앙동아리",
"division": "공연분과",
"clubName": "세마치",
"recruitment": true
},
{
"clubId": 1,
"college": "정보통신대학",
"division": "학술분과",
"clubName": "Tools",
"recruitment": true
},
{
"clubId": 2,
"college": "정보통신대학",
"division": "학술분과",
"clubName": "PLUM",
"recruitment": true
}
]
}
4. 동아리 가입 신청
- Request
POST ➜ {{http}}/clubs/{id}/join
- Response
{
"status": 200,
"responseMessage": "동아리 가입신청 완료",
"data": {
"id": null,
"joinDate": "2023-07-24",
"role": "MEMBER",
"member": {
"createDate": "2023-07-24T12:44:01.610934",
"modifiedDate": "2023-07-24T12:44:01.610934",
"id": 1,
"studentId": "20101234",
"name": "전창하",
"password": "{bcrypt}$2a$10$aV52Ql4lYfN15kfBNMC04OuofxLysDgfeiSQYViUxgtWeZutsmzXS",
"college1": "정보통신대",
"college2": null,
"major1": "컴퓨터공학과",
"major2": null,
"profileImage": "NULL",
"clubJoinList": [],
"roles": [
"ROLE_USER"
],
"enabled": true,
"username": "전창하",
"accountNonExpired": true,
"accountNonLocked": true,
"credentialsNonExpired": true,
"authorities": [
{
"authority": "ROLE_USER"
}
]
},
"club": {
"id": 1,
"clubName": "Tools",
"clubCreated": "2023-07-23",
"content": "홍보글..",
"recruitment_period": "23-07-21,23-07-23",
"college": {
"id": 2,
"name": "정보통신대학"
},
"division": {
"id": 7,
"name": "학술분과"
},
"recruitment": true
}
}
}
members - 유저 관련 API
1. 유저 상세 페이지 API
- GET ➜ {{http}}/members/{id}
2. 모든 유저 리스트 API
- GET ➜ {{http}}/members/all
colleges - 단과대 카테고리 리스트 API
1. 모든 단과대 리스트 API
- Request
GET ➜ {{http}}/colleges/all
- Response
{
"status": 200,
"responseMessage": "단과대 카테고리",
"data": [
{
"college_id": 1,
"college_name": "중앙동아리"
},
{
"college_id": 2,
"college_name": "정보통신대학"
},
{
"college_id": 3,
"college_name": "공과대학"
},
{
"college_id": 4,
"college_name": "에너지바이오대학"
},
{
"college_id": 5,
"college_name": "조형대학"
},
{
"college_id": 6,
"college_name": "인문사회대학"
},
{
"college_id": 7,
"college_name": "기술경영대학"
},
{
"college_id": 8,
"college_name": "미래융합대학"
},
{
"college_id": 9,
"college_name": "창의융합대학"
}
]
}
division - 분과 카테고리 API
1. 모든 단과대 리스트 API
- Request
GET ➜ {{http}}/colleges/all
- Response
{
"status": 200,
"responseMessage": "분과 카테고리",
"data": [
{
"division_id": 1,
"division_name": "공연분과"
},
{
"division_id": 2,
"division_name": "무예분과"
},
{
"division_id": 3,
"division_name": "봉사분과"
},
{
"division_id": 4,
"division_name": "전시분과"
},
{
"division_id": 5,
"division_name": "종교분과"
},
{
"division_id": 6,
"division_name": "체육분과"
},
{
"division_id": 7,
"division_name": "학술분과"
}
]
}
admin - 관리자 페이지 관련 API
1. 모든 유저 리스트 API
- GET ➜ {{http}}/members/all
2. 회원가입 API
- POST ➜ http://10.50.46.60:8080/join
- Body
{
"studentId" : "20101246",
"name" : "신민규",
"password" : "1234",
"checkPassword" : "1234",
"college1" : "정보통신대",
"major1" : "컴퓨터공학과"
}
3. 로그인 API
- POST ➜ {{http}}/api/login
- Body
{
"studentId" : "20101246",
"password" : "1234"
}
- Request
POST ➜ {{http}}/api/login
- Response
{
"status": 200,
"responseMessage": "로그인 성공",
"data": {
"grantType": "Bearer",
"accessToken": "eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIyMDEwMTI4NCIsInJvbGVzIjpbIlJPTEVfVVNFUiJdLCJpYXQiOjE2ODk3NTA5MDgsImV4cCI6MTY4OTc1MjcwOH0.NHjZDsbR8O8YKQ-QNxzOxD5Zdc1_LooOqoQR3-Ir568",
"refreshToken": "eyJhbGciOiJIUzI1NiJ9.eyJleHAiOjE2OTIzNDI5MDh9.T9CYDclqVEh9NNd0WPMsclsNvbJhESZKnpAV5aitAa0"
}
}
4. Token 검증 테스트 API
- Request
- Request Headers ➜ Access_Token
POST ➜ {{http}}/api/hello
- Response
hello!