https://traveling-organ-e7f.notion.site/2022-Cloud-Server-2eccf1fc81b94584898aae38615f56eb
1st Cloud&Server Contest Entry
💡 **간단한 모의 수강 신청 시스템을 만들어 주세요!-** 프론트엔드 구성은 **단순한 구현**도 인정합니다.
-
Git의 경우 단순히 결과물만 올리는 것이 아닌 Branch 를 만들고 기능별 Commit 을 해보는 등 협업을 경험해 보세요!
-
제출한 결과물에 대해 부하 테스트를 진행할 예정입니다. (Ngrinder, K6, Locust 등 다양한 Tool 이 존재하니 한 번 사용해보세요!)
-
Docker 사용시 가산점이 존재합니다!
-
배포 환경은 AWS Free tier 로 통일 (부하 테스트를 위하여)
-
모든 요구 사항을 구현할 필요는 없습니다! 본인이 할 수 있는 부분만 구현하고 제출하셔도 됩니다. 특히 부하 테스트, Docker 같은 부분은 참가자 분들에게 구현이 어려울 수 있으니 해당 부분 보다는 클라우드를 사용한 배포, 데이터베이스를 사용해보는 경험을 중점으로 대회를 진행하길 희망합니다 :)
- 로그인 기능
- 학번, 비밀번호를 통한 로그인
- 수강 신청 기능 - 각 학생이 수강 가능한 최대 학점은 9학점으로 설정합니다!
- 수강 신청 페이지 접속 시 강의 목록 표시
- 강의 목록 필터링
- 학과별, 학년별, 교수별, 과목별, 과목번호 등으로 필터링 가능
- 수강 신청
- 강의 목록의 강의를 직접 클릭하여 신청 가능
- 과목번호 + 분반으로 신청 가능
- 학생 정보가 강의 수강 대상에 해당되지 않을 시 신청 불가능
- 신청 내역 조회 기능
- 학생이 신청한 강의 목록 조회
- 수강 취소 가능
- 시스템 관리 기능
- 수강 신청 가능 시간 설정
- 관리자 아이디로 접속 시 강의 목록 관리 가능
- 강의 데이터 수정 - Ex) 강의명 변경, 정원 변경 등
- 강의 삭제
- 강의 삭제 시 해당 강의 수강생들에게 이메일로 폐강 알림 전송
- 학생 데이터
- 이메일, 학번, 비밀번호, 이름, 학년, 현재 수강 학점
- 강의 데이터
- 학과, 대상 학년, 학점, 과목명, 과목번호, 분반, 교수명, 정원, 현재 수강신청 인원
- 수강 신청 데이터
- 과목번호, 분반, 수강 인원들
- 관리자 데이터
- 이메일, 비밀번호
→ 기본적인 데이터 구성은 위와 같습니다. 본인이 생각하기에 추가로 필요할 것 같은 사항들은 추가하여 구현하시면 됩니다!
→ 데이터베이스 구성에 어려움이 있다면 단순 로컬에 데이터를 저장하셔도 됩니다. 물론 총점은 차이가 있습니다.
제출 전 Github repository 가 public 인지 배포 주소가 정확한 지 확인해주세요!
제출한 코드에는 주석을 포함해주세요! (라인마다 주석을 달며 설명할 필요는 없습니다.)
배포 주소의 경우 인바운드 규칙을 설정하여 접근 가능하게 설정 부탁드립니다.
시나리오 및 설명은 각 기능에 대한 캡처와 설명등을 포함하여 제출해주세요.
(Docker 사용 팀은 Docker hub 링크도 시나리오 및 설명에 같이 첨부해주세요!)