[최종] 뉴-스피드 S.A

지인·2023년 7월 9일
0

프로젝트

목록 보기
9/17
post-custom-banner

🐰 New Speed

ERD



API 명세

New Speed API 명세서 (Postman)

Response

기능response
회원가입{
"msg":"회원가입이 완료되었습니다.",
”statusCode”:201
}
로그인{
"msg":"로그인 성공.",
”statusCode”:200
}
게시글 쓰기{
"id": 1,
"title": "123",
"content": "123",
"createAt": "2023-07-04T00:12:39",
"modifiedAt": "2023-07-04T00:12:42",
"username": "aaa222222"
}
게시글 전체 조회{
"postsList": [
{
"id": 1,
"title": "123",
"content": "123",
"createAt": "2023-07-04T00:12:39",
"modifiedAt": "2023-07-04T00:12:42",
"username": "aaa222222",
”liked_count”:1
}…
]
}
게시글 상세 조회                   {
"id": 1,
"title": "123",
"content": "123",
"createAt": "2023-07-04T00:12:39",
"modifiedAt": "2023-07-04T00:12:42",
"username": "aaa222222",
”liked_count”:1
}
게시글 수정{
"id": 1,
"title": "123",
"content": "수정",
"createAt": "2023-07-04T00:12:39",                   
"modifiedAt": "2023-07-04T00:12:42",
"username": "aaa222222"
}
게시글 삭제{
"msg":"게시물 삭제성공" ,
”statusCode”:200
}
유저 수정{
"id":2,
"username":"sim34122",
"email":"sim34122@gmail.com",
"intro":"intro 수정 하이하이루"
}
유저 삭제(탈퇴){
"msg":"회원탈퇴 되었습니다." ,
”statusCode”:200
}
댓글 생성{
"msg":"댓글이 작성 되었습니다." ,
”id”:1,
”contents”:”좋은 글 입니다.”,
”username”:”roro1234”,
”createdAt”:”2023-07-04T00:12:39”,
”modifiedAt”:”2023-07-04T00:12:42”
}
댓글 수정{
"msg":"댓글이 수정 되었습니다."
}
댓글 삭제{
"msg":"댓글이 삭제되었습니다."
}
유저 정보 조회{
"id": 2,
"username": "sim34122",
"email": "sim34122@gmail.com",
"intro": null
}
로그아웃{
"msg":"로그아웃 성공.",
”statusCode”:200
}
이메일 확인{
"msg":"이메일 인증 성공.",
”statusCode”:200
}
게시글 좋아요/취소{
”liked_count”:1
}


구현한 부분

  1. 회원 가입 API
    • username, password를 Client에서 전달받기
    • username은 최소 4자 이상, 10자 이하이며 알파벳 소문자(a~z), 숫자(0~9)로 구성되어야 한다.
    • password는 최소 8자 이상, 15자 이하이며 알파벳 대소문자(a~z, A~Z), 숫자(0~9), 특수문자로 구성되어야 한다.
    • DB에 중복된 username이 없다면 회원을 저장하고 Client 로 성공했다는 메시지, 상태코드 반환하기
    • 회원 권한 부여하기 (ADMIN, USER) - ADMIN 회원은 모든 게시글, 댓글 수정 / 삭제 가능
  2. 댓글 수정 API
    • 토큰을 검사한 후, 유효한 토큰이면서 해당 사용자가 작성한 댓글만 수정 가능
    • 선택한 댓글의 DB 저장 유무를 확인하기
    • 선택한 댓글이 있다면 댓글 수정하고 수정된 댓글 반환하기
  3. 댓글 삭제 API
    • 토큰을 검사한 후, 유효한 토큰이면서 해당 사용자가 작성한 댓글만 삭제 가능
    • 선택한 댓글의 DB 저장 유무를 확인하기
    • 선택한 댓글이 있다면 댓글 삭제하고 Client 로 성공했다는 메시지, 상태코드 반환하기


시연 영상

https://clipchamp.com/watch/cfyrv4mq3sC



KPT

Keep

  • 적극적인 자세로 소통과 협업을 하여 프로젝트가 수월하게 진행되었다.
  • 서로의 컨디션을 신경써주며 서로 배려하는 자세를 보였다.
  • git의 organizations를 통해 원활한 버전 관리를 하였다.
  • PR merge 시 규칙을 정해 한 명 이상의 리뷰를 받아야만 Merge 할 수 있도록 규칙을 설정했다.
  • 다같이 모여 코드 리뷰를 통해 팀원 모두가 프로젝트 코드에 대한 이해를 하려고 노력했다.
  • 기획 단계에서 Figma, Miro(ERD 다이어그램 만드는 프로그램) 등의 협업 툴을 사용하여 진행하였다.

Problem

  • 코딩컨벤션
  • 프론트에 대한 지식이 없어 프론트, html 등의 연결은 하지 못했다 (Postman 으로 테스트, 검증하였음)
  • API 명세서 잦은 수정
  • Commit의 횟수가 적음
  • 기능에 대한 상세한 커밋이 부족함 - 한 번에 커밋을 하는 등의 문제

Try

  • 기획 단계에서 기능에 대한 명확한 API 명세서 작성

  • stream 과 exception 사용에 대한 향상된 이해

  • 좋아요 기능 구현

  • 이메일 전송기능 탑재

  • 프로젝트 시작 시 상의해서 결정할 것들에 코딩 컨벤션을 추가

  • 기초적인 프론트엔드 지식을 갖춰 기능 구현을 웹상에서 확인할 수 있게 하기

  • 깃에서 커밋을 할 때

    1. 매서드 단위로 커밋을 해야함

    2. 조원의 도움이 필요하다면 중간 커밋을 만들어 pr을 해야함)



👏🏻 느낀점

🐾 3번의 팀 프로젝트를 경험하면서 매번 느끼는 것은 협업할 때 소통이 중요하다는 것이다. 이번 팀은 사소한거 하나라도 소통하고 공유하며 진행 했는데 덕분에 수월하게 진행 됐고 서로의 의견을 더 낼 수 있었다.
그리고 문제가 발생해 해결할때나 깃이나 포스트맨 사용 방법등을 배울 때 화면공유를 통해 같이 문제해결을 해나가거나 툴 사용 방법등을 자세히 배울 수 있었다.

🐾 이번 경험을 토대로 앞으로 남은 프로젝트에서 더 배우고 앞으로 나의 의견을 내고 팀원들과 같이 문제를 해결해 가며 성장할 수 있었으면 좋겠다.

profile
열쩡
post-custom-banner

0개의 댓글