Skip to content

Repository files navigation

학생

회원가입

  • 유저로부터 이름, 학번, 비밀번호, 학과를 입력받는다.
  • 이미 동일한 학번을 가진 유저가 존재하는 경우 예외처리한다.
  • 이름에는 숫자가 포함될 수 없다.
  • 이름의 길이는 2글자 이상 4글자 이하이다.
  • 학번은 9개의 숫자로만 구성되어야 한다.
  • 학번 중 앞의 4개의 숫자는 년도를 의미한다. 년도는 2000~2025년 이내로 제한한다.
  • 비밀번호는 8자 이상 20자 이하의 문자열로 구성된다.
  • 학과가 존재하지 않는 경우 예외처리한다.

로그인

  • 학번 및 비밀번호를 입력받는다.
  • 존재하지 않는 학번을 입력한 경우 예외처리한다.
  • 비밀번호가 일치하지 않는 경우 예외처리한다.

정보 조회

  • 학생의 이름, 학번, 전공 정보를 조회한다.

강의

개설 강의 조회

  • 개설된 강의를 조회한다. 기본값은 2025년도 가을 학기이다.
  • 필터링은 아래와 같다.
    • 교수명
    • 학과명
    • 과목명
    • 학점
    • 학기
    • 강의 년도
    • 강의 구분
    • 과목 코드
    • 학년
    • 강의시간 (ex - 월요일 3교시 ~ 6교시 내에 존재하는 강의)
    • 페이지
    • 사이즈 (기본값 30)
  • 조회 시 제공하는 데이터는 아래와 같다.
    • 강의 ID
    • 과목명
    • 교수명
    • 강의 시간
    • 학년
    • 학점
    • 강의 구분
    • 과목코드

수강 바구니

수강 바구니 생성

  • 사용자로부터 연도, 학기, 이름을 입력받아 수강 바구니를 생성한다.
  • 만약 사용자가 해당 연도 및 학기에 수강 바구니가 존재하지 않는 경우 대표 수강 바구니로 생성한다.
  • 생성 시 해당 연도 및 학기에 대표 수강 바구니가 존재하는 경우 일반 수강 바구니로 생성한다.
  • 수강 바구니의 이름이 20자를 초과하는 경우 예외처리한다.

수강 바구니 전체 조회

  • 사용자가 보유하고 있는 모든 수강 바구니를 조회한다.

수강 바구니 단일 조회

  • 해당 수강 바구니의 정보 및 추가한 모든 강의를 조회한다.
  • 강의 조회 시 아래와 같은 정보를 제공한다.
    • 추가한 강의 ID
    • 과목명
    • 교수명
    • 강의 시간
    • 색상

수강 바구니 수정

  • 이름 수정
    • 수강 바구니의 이름을 수정한다.
    • 수정하고자 하는 이름이 20자를 초과하는 경우 예외처리한다.
  • 대표 수강 바구니 변경
    • 해당 수강 바구니를 대표 수강 바구니로 변경한다.
    • 기존에 존재하던 대표 수강 바구니는 일반 수강 바구니로 변경된다.

수강 바구니 삭제

  • 해당 수강 바구니를 삭제한다.
  • 대표 수강 바구니를 삭제하는 경우 예외처리한다.

수강 바구니 강의 추가

  • 강의를 수강 바구니에 추가한다.
  • 강의의 신청 인원을 1명 증가시킨다.
  • 수강 바구니와 강의의 연도 및 학기가 일치하지 않는 경우 예외처리한다.
  • 수강 바구니에 동일한 강의가 존재하는 경우 예외가 발생한다.
  • 수강 바구니에 해당 강의와 강의 시간이 중복되는 강의가 존재하는 경우 예외처리한다.
  • 해당 강의의 최대 인원을 초과하는 경우 예외가 발생한다.

수강 바구니 강의 조회

  • 수강 바구니에 추가한 강의의 정보를 조회한다.
  • 조회 시 제공하는 정보는 아래와 같다.
    • 과목명
    • 교수명
    • 강의 코드
    • 과목 학점
    • 강의 시간
    • 색상

수강 바구니 강의 수정

  • 수강 바구니에 존재하는 강의의 색상을 수정한다.
  • 선택할 수 있는 색상은 총 여섯가지다.

수강 바구니 강의 제거

  • 수강 바구니에 존재하는 강의를 제거한다.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages