카테고리 없음

AI blossom 프로젝트(블라썸팀) S.A

SISaac 2023. 6. 30. 12:44

서비스 목표

빠르게 변화하는 AI시장에서 AI관련 기술에 대한 핵심 내용 및 지식 공유, AI를 사용한 기술 및 프레임워크 등에 대한 리뷰를 올리는 뉴스피드 웹 개발.

와이어프레임

ERD

API 명세

  API URL Method Request Header Request Body Response Response Header
회원가입 /blossom/user/signup POST   {
"id":"blossom",
"password":"1234",
"username":"username",
"email":"blossom@sparta.com",
"introduction":"introduction"
}
{ "msg": "회원가입 성공", "statusCode": 200 }  
로그인 /blossom/user/login POST   {
"id":"blossom",
"password":"1234"
}
{
"msg": "로그인 성공",
"statusCode": 200
}
{
  "sub": "blossom",
  "auth": "USER",
  "exp": 1688468412,
  "iat": 1687863612
}
로그아웃 /blossom/user/logout GET Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJibG9zc29tIiwiYXV0aCI6IlVTRVIiLCJleHAiOjE2ODg0Njg0MTIsImlhdCI6MTY4Nzg2MzYxMn0.dHRce13l2po_qP2CqsJQ_RpmvgxhGuMow3XtUZxUSmI   {
"msg": "로그아웃",
"statusCode": 200
}
 
프로필 조회 /blossom/user/profile GET Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJibG9zc29tIiwiYXV0aCI6IlVTRVIiLCJleHAiOjE2ODg0Njg0MTIsImlhdCI6MTY4Nzg2MzYxMn0.dHRce13l2po_qP2CqsJQ_RpmvgxhGuMow3XtUZxUSmI   {
"username":"username",
"introduction":"introduction"
}
 
프로필 수정 /blossom/user/profile PUT Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJibG9zc29tIiwiYXV0aCI6IlVTRVIiLCJleHAiOjE2ODg0Njg0MTIsImlhdCI6MTY4Nzg2MzYxMn0.dHRce13l2po_qP2CqsJQ_RpmvgxhGuMow3XtUZxUSmI {
"username":"blos",
"introduction":"som"
}
{
"username":"blos",
"introduction":"som"
}
 
피드 작성 /blossom/feed POST Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJibG9zc29tIiwiYXV0aCI6IlVTRVIiLCJleHAiOjE2ODg0Njg0MTIsImlhdCI6MTY4Nzg2MzYxMn0.dHRce13l2po_qP2CqsJQ_RpmvgxhGuMow3XtUZxUSmI {
"title":"피드1",
"content":"내용1"
}
{
"id": 1,
"title": "피드1",
"content": "내용1",
"username": "bin1234",
"createdAt": "2022-12-01T12:56:36.821474",
"modifiedAt": "2022-12-01T12:56:36.821474",
"commentList": []
}
 
피드 목록 조회 /blossom/feed GET     {
"postList": [
{
"id": 1,
"title": "게시글1",
"content": "내용1",
"username": "bin1234",
"createdAt": "2022-12-01T12:52:06.729608",
"modifiedAt": "2022-12-01T12:52:06.729608",
"commentList": [
{
"id": 1,
"content": "댓글1",
"createdAt": "2022-12-01T12:52:25.183387",
"modifiedAt": "2022-12-01T12:52:25.183387",
"username": "bin1234"
},
{
"id": 2,
"content": "댓글2",
"createdAt": "2022-12-01T12:52:28.480369",
"modifiedAt": "2022-12-01T12:52:28.480369",
"username": "bin1234"
},
{
"id": 3,
"content": "댓글3",
"createdAt": "2022-12-01T12:52:31.018677",
"modifiedAt": "2022-12-01T12:52:31.018677",
"username": "bin1234"
}
]
},
{
"id": 2,
"title": "게시글2",
"content": "내용2",
"username": "bin1234",
"createdAt": "2022-12-01T12:52:10.566505",
"modifiedAt": "2022-12-01T12:52:10.566505",
"commentList": [
{
"id": 4,
"content": "댓글1",
"createdAt": "2022-12-01T12:52:35.995394",
"modifiedAt": "2022-12-01T12:52:35.995394",
"username": "bin1234"
},
{
"id": 5,
"content": "댓글5 수정",
"createdAt": "2022-12-01T12:52:39.247906",
"modifiedAt": "2022-12-01T12:52:54.778234",
"username": "bin1234"
},
{
"id": 6,
"content": "댓글3",
"createdAt": "2022-12-01T12:52:43.170846",
"modifiedAt": "2022-12-01T12:52:43.170846",
"username": "bin1234"
},
{
"id": 7,
"content": "댓글4",
"createdAt": "2022-12-01T12:52:45.827248",
"modifiedAt": "2022-12-01T12:52:45.827248",
"username": "bin1234"
}
]
},
{
"id": 3,
"title": "게시글3",
"content": "내용3",
"username": "bin1234",
"createdAt": "2022-12-01T12:52:16.773748",
"modifiedAt": "2022-12-01T12:52:16.773748",
"commentList": [
{
"id": 8,
"content": "댓글1",
"createdAt": "2022-12-01T12:52:52.067593",
"modifiedAt": "2022-12-01T12:52:52.067593",
"username": "bin1234"
}
]
},
{
"id": 5,
"title": "게시글4 삭제 내용5 수정",
"content": "내용4 삭제 내용5 수정",
"username": "bin1234",
"createdAt": "2022-12-01T12:56:36.821474",
"modifiedAt": "2022-12-01T12:59:25.681261",
"commentList": []
}
]
}
 
피드 상세 조회 /blossom/feed/{id} GET     {
"id": 1,
"title": "게시글1",
"content": "내용1",
"username": "bin1234",
"createdAt": "2022-12-01T12:52:06.729608",
"modifiedAt": "2022-12-01T12:52:06.729608",
"commentList": [
{ "id": 1, "content": "댓글1", "createdAt": "2022-12-01T12:52:25.183387", "modifiedAt": "2022-12-01T12:52:25.183387", "username": "bin1234" },
{ "id": 2, "content": "댓글2", "createdAt": "2022-12-01T12:52:28.480369", "modifiedAt": "2022-12-01T12:52:28.480369", "username": "bin1234" },
{ "id": 3, "content": "댓글3", "createdAt": "2022-12-01T12:52:31.018677", "modifiedAt": "2022-12-01T12:52:31.018677", "username": "bin1234" }
]
}
 
피드 수정 /blossom/feed/{id} PUT Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJibG9zc29tIiwiYXV0aCI6IlVTRVIiLCJleHAiOjE2ODg0Njg0MTIsImlhdCI6MTY4Nzg2MzYxMn0.dHRce13l2po_qP2CqsJQ_RpmvgxhGuMow3XtUZxUSmI {
"title":"제목수정",
"content":"내용수정"
}
{
"id": 5,
"title": "제목수정",
"content": "내용수정",
"username": "bin1234",
"createdAt": "2022-12-01T12:56:36.821474",
"modifiedAt": "2022-12-01T12:56:36.821474",
"commentList": []
}
 
피드 삭제 /blossom/feed/{id} DELETE Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJibG9zc29tIiwiYXV0aCI6IlVTRVIiLCJleHAiOjE2ODg0Njg0MTIsImlhdCI6MTY4Nzg2MzYxMn0.dHRce13l2po_qP2CqsJQ_RpmvgxhGuMow3XtUZxUSmI   {
"msg": "피드 삭제 성공",
"statusCode": 200
}
 
댓글 작성 /blossom/comment POST Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJibG9zc29tIiwiYXV0aCI6IlVTRVIiLCJleHAiOjE2ODg0Njg0MTIsImlhdCI6MTY4Nzg2MzYxMn0.dHRce13l2po_qP2CqsJQ_RpmvgxhGuMow3XtUZxUSmI {
”postId” : 1,
"content": "댓글2"
}
{
"id": 10,
"content": "댓글2",
"createdAt": "2022-12-01T12:54:57.049359",
"modifiedAt": "2022-12-01T12:54:57.049359",
"username": "bin1234"
}
 
댓글 수정 /blossom/comment/{id} PUT Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJibG9zc29tIiwiYXV0aCI6IlVTRVIiLCJleHAiOjE2ODg0Njg0MTIsImlhdCI6MTY4Nzg2MzYxMn0.dHRce13l2po_qP2CqsJQ_RpmvgxhGuMow3XtUZxUSmI {
"content": "댓글5 수정"
}
{
"id": 5,
"content": "댓글5 수정",
"createdAt": "2022-12-01T12:52:39.247906",
"modifiedAt": "2022-12-01T12:52:39.247906",
"username": "bin1234"
}
 
댓글 삭제 /blossom/comment/{id} DELETE Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJibG9zc29tIiwiYXV0aCI6IlVTRVIiLCJleHAiOjE2ODg0Njg0MTIsImlhdCI6MTY4Nzg2MzYxMn0.dHRce13l2po_qP2CqsJQ_RpmvgxhGuMow3XtUZxUSmI   {
"msg": "댓글 삭제 성공",
"statusCode": 200
}
 
피드 좋아요 /blossom/heart-feed/{id} POST Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJibG9zc29tIiwiYXV0aCI6IlVTRVIiLCJleHAiOjE2ODg0Njg0MTIsImlhdCI6MTY4Nzg2MzYxMn0.dHRce13l2po_qP2CqsJQ_RpmvgxhGuMow3XtUZxUSmI      
피드 좋아요 취소 /blossom/heart-feed/{id} DELETE Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJibG9zc29tIiwiYXV0aCI6IlVTRVIiLCJleHAiOjE2ODg0Njg0MTIsImlhdCI6MTY4Nzg2MzYxMn0.dHRce13l2po_qP2CqsJQ_RpmvgxhGuMow3XtUZxUSmI      
댓글 좋아요 /blossom/heart-comment/{id} POST Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJibG9zc29tIiwiYXV0aCI6IlVTRVIiLCJleHAiOjE2ODg0Njg0MTIsImlhdCI6MTY4Nzg2MzYxMn0.dHRce13l2po_qP2CqsJQ_RpmvgxhGuMow3XtUZxUSmI      
댓글 좋아요 취소 /blossom/heart-comment/{id} DELETE Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJibG9zc29tIiwiYXV0aCI6IlVTRVIiLCJleHAiOjE2ODg0Njg0MTIsImlhdCI6MTY4Nzg2MzYxMn0.dHRce13l2po_qP2CqsJQ_RpmvgxhGuMow3XtUZxUSmI