Skip to content

yourssu-Lab/backend-ssumgo

Repository files navigation

backend-ssumgo

2024 유어슈 루키톤 BackEnd-ssumgo repository 입니다.

스크린샷 2024-04-24 오후 3 38 33

🧑‍💻 Member

Leopold
(@dwl21)
IMG_6678

규칙

  • Github Flow 전략을 따릅니다 .
  • Commit, PR, Branch 머릿말은 "(feat|fix|docs|style|refactor|test|chore): 제목" 형식으로 작성합니다.

구현할 기능 목록

인증

  • 로그인

    • 클라이언트에게 아이디, 비밀번호를 받아 숨쉴때 Auth 서버에서 AccessToken, RefreshToken을 발급 받는다.
    • AccessToken으로 숨쉴때 User 정보를 가져온다.
    • Ssumgo-AccessToken을 만든다.
    • 숨쉴때 User 정보를 Ssumgo Student nickname, profileUrls에 업데이트 한다.
    • Ssumgo에 가입되지 않은 회원이면 계정을 새로 만든다.
    • 클라이언트에게 ssumgo-AccessToken과 RefreshToken과 ssumgo StudentId를 반환한다.
  • 토큰 재발급

    • 클라이언트에게 RefreshToken을 받아서 AccessToken, RefreshToken을 재발급 받는다.
    • AccessToken으로 숨쉴때 User 정보를 가져온다.
    • 숨쉴때 User 정보를 Ssumgo Student nickname, profileUrls에 업데이트 한다.
    • 클라이언트에게 ssumgo-AccessToken과 RefreshToken과 StudentId를 반환한다.

인가

  • 권한 확인
    • AccessToken을 받아서 권한을 확인한다.
    • 권한이 있으면 Argument Resolved로 ssumgo student id를 받아와서 요청을 처리한다.
    • 유효하지 않는 토큰이면 401 Unauthorized을 반환한다.
    • 권한이 없으면 403 Forbidden을 반환한다.

학생

  • 유저 정보 조회
    • AccessToken으로 인증된 학생의 정보를 조회한다.
      • 인증 권한이 없으면 401 Unauthorized를 반환한다.
      • 유저 정보를 찾을 수 없으면 404 Not Found를 반환한다.
    • 학생 아이디, 유어슈 아이디, 이름, 학과, 학번, 프로필 이미지 소/중/대를 반환한다.

과목

  • 전체 과목 조회
  • 수강 과목 조회
    • 학생의 수강 과목을 조회한다.
    • 인증에 실패하면 401 Unauthorized를 반환한다.
    • 수강년도와 학기가 일치하는 수강 과목을 조회한다.
    • 기본 수강년도는 2024, 기본 학기는 2학기이다.
    • 수강 과목이 없으면 404 Not Found를 반환한다.
  • 과목 생성
  • 수강 과목 등록
    • 과목 아이디, 수강년도(2024), 학기(1, 2)를 받아서 수강 과목을 등록한다.

질문

  • 질문 등록
  • 과목별 질문 조회 - [x] 정렬 기준을 설정한다. - [x] 페이지네이션을 설정한다. - [x] 검색 기능을 추가한다.
  • 질문 상세 조회

답변

  • 답변 등록
  • 과목 대상 답변 조회
    • 해당 멘티가 작성한 질문의 답변만 조회한다.
    • 페이지네이션을 설정한다.
  • 과목 대상 기타 답변 조회
    • 해당 멘티가 작성한 질문의 답변을 제외한 다른 멘티의 답변만 조회한다.
    • 페이지네이션을 설정한다.
  • 답변 상세 조회
    • 답변의 질문, 답변 작성자의 정보도 같이 반환한다.

평가

  • 평가 등록
    • 멘티가 멘토의 답변에 대한 평가를 등록한다.
    • 이미 등록된 평가면 409 Conflict를 반환한다.
  • 평가 조회
    • 답변 아이디로 평가를 조회한다.
    • 평가가 없으면 404 Not Found를 반환한다.

보관함

  • [] 보관함 등록
    • 멘티가 답변에 좋아요를 눌러 보관함에 담는다.
    • 이미 보관함에 등록된 좋아요이면 409 Conflict를 반환한다.
  • 나의 보관함 조회
    • 좋아요를 누른 댓글을 조회한다.
    • 페이지네이션을 설정한다.
  • 보관함 삭제
    • 댓글의 좋아요를 취소한다.
    • 요청에 대해 204 No Content를 반환한다.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages