본문 바로가기
웹 개발/수강신청 사이트 만들기

과제 목표

by L3m0n S0ju 2022. 3. 13.

2022 년도 준회원 과정 면제과제 명세

2022년 KWEB 1학기 준회원 스터디

Introduction

2022 KWEB 준회원 과정 면제과제의 주제는 “간단한 온라인 교육 플랫폼 제작”입니다. 쉽게 말해서, 고려대학교에서 사용하는 Blackboard Learn과 같이 교수자와 학생이 상호작용할 수 있는 웹 애플리케이션을 구현하는 것입니다. 이 문서는 면제과제에서 필수적으로 요구하는 명세 사항과 채점 기준, 제출 방식 등 면제과제에 관한 정보를 소개합니다.

Specification

웹 애플리케이션 구현 과제에 관한 명세 사항입니다. Front-end를 구성할 때 React.js, Vue.js, Angular.js와 같은 프레임워크의 사용은 가능하며, Bootstrap과 같은 라이브러리는 사용할 수 있으나 각종 예제 템플릿을 그대로 사용하는 것은 금지합니다. 사용자가 접근할 수 있는 각 페이지는 hyperlink를 통해 서로 연결되어 있어 원활하게 접근 가능해야 하고, 화려하고 복잡할 필요는 없으나 사용자가 웹사이트를 원활하게 이용할 수 있도록 적절한 디자인을 하여야 합니다. Back-end는 Node.js의 사용을 권장하나, Flask, Django, PHP 등 다른 프레임워크 혹은 언어의 사용도 가능합니다. 언어 선택에 따른 불이익은 없습니다. URL routing이 적절하게 되어있어야 하며, 데이터베이스와의 연동 역시 되어있어야 합니다.

[필수] 구현 - 로그인/회원 가입 10

  • 아이디/비밀번호로 회원 가입과 로그인이 가능해야 합니다.
  • 가입 시 입력받는 필수 정보는 아이디, 비밀번호, 이름, 학번, 교수자/학생 여부 입니다.
  • 비밀번호는 저장할 때 원문을 복원할 수 없는 형태로 저장되어야 합니다.

[필수] 구현 - 교수자 - 강의 관리 10

  • 교수자 역할의 계정으로 새로운 강의를 등록할 수 있어야 합니다.
  • 교수자 역할의 계정으로 기존에 등록한 자신의 강의 목록을 조회할 수 있어야 합니다.

[필수] 구현 - 교수자 - 강의 게시물 작성 10

  • 교수자 역할의 계정으로 등록된 강의별로 게시물을 작성할수 있어야 합니다. 반드시 서식이 있는 텍스트(rich text)로 작성할 수 있어야 합니다.

[필수] 구현 - 학생 - 강의 수강 신청 10

  • 학생 역할의 계정으로 존재하는 강의의 목록을 조회할 수 있어야 합니다.
  • 학생 역할의 계정으로 존재하는 강의를 수강신청할 수 있어야 합니다.

[필수] 구현 - 학생 - 강의 게시물 열람 10

  • 학생 역할의 계정으로 수강신청된 강의의 목록을 조회할 수 있어야 합니다.
  • 학생 역할의 계정으로 수강신청된 강의별 게시물 목록을 조회할 수 있어야 합니다.

[선택] 리포트 25

  • 구현한 웹 애플리케이션에 대한 리포트를 작성하여 제출 합니다.
  • 리포트는 아래의 내용을 포함 합니다.
    • 도메인 모델링, DB 스키마 구조
    • 모델링에 대한 기타 사항
    • 웹 애플리케이션 사이트 맵
    • API 명세

[선택] 구현 - 교수자 - 수강 학생 관리 10

  • 교수자 역할의 계정으로 강의를 수강중인 학생의 목록을 조회할수 있어야 합니다.
  • 교수자 역할의 계정으로 강의를 수강중인 임의의 학생을 수강취소 할 수 있습니다.

[선택] 구현 - 학생 - 최근 업데이트 10

  • 학생 역할의 계정으로 수강중인 강의들의 모든 게시물을 게시된 순서대로 모아볼 수 있어야 합니다. (ex. Blackboard Learn의 활동 스트림 탭)

[선택] 실제 환경 배포 5

  • 배포한 대상 주소로 접근시 웹 애플리케이션을 사용 가능해야 합니다.
  • 배포된 웹 애플리케이션은 HTTPS를 지원해야 합니다.

⚠️  고려대상이 아닌것들

아래 내용들은 이번 과제에서 고려하지 않습니다. 구현해도 되지만 가산점은 부여하지 않습니다.

  • 단순 로그인/회원가입 외의 추가적인 회원 기능(ex. 비밀번호 찾기/변경, 정보 업데이트 등)
  • 강의의 유효 기간 및 상태 (ex. 수강신청중, 학기중, 만료 등)
  • 수강신청에 대한 수락 및 확정 절차 (학생이 수강 신청을 하면 즉시 수강하는 것으로 간주)

🎯  기타 사항

  • 실사용 가능한 상태로 배포해두는 경우 적절한 데이터가 채워져 있어야 합니다.
  • 배포되지 않은 상태로 과제물 제출시 적절한 데이터를 구성할 수 있도록 데이터 파일과 로컬환경 구성 방법을 함께 전달해야 합니다.
  • 두 경우 모두 데이터를 가지고 있는 학생/교수자 에 대한 로그인 정보를 함께 제출해야 합니다.

Assignment Policy

구현 부분은 세부적으로 아래와 같은 기준으로 채점 합니다.

필수 구현항목의 경우 기본적으로 10p를 부여하고 아래 감점요인이 있을 경우 1p 씩 감점합니다.

  • 지켜지지 않은 요구사항이 있을시
  • 대상 기능에 대한 전반적인 모델링이 타당하지 않을시
  • 기타 성능 및 보안적인 이슈가 있을시

선택 구현항목의 경우 필수항목의 감점요인이 없을시 점수로 인정 됩니다.

선택 리포트의 경우 전반적인 내용에 따라

통과 기준은 아래와 같습니다.

  • 필수항목의 경우 50점 만점에 35점이상 회득
  • 전체 100점 만점에 50점 이상 회득

제출 기한은 6/20(월) 까지 이며 지각 제출은 6/23(목) 까지만 허용합니다. (지각 제출시 1일당 10점 패널티를 부여합니다.)

제출방식은 소스코드와 기타 구성파일을 ZIP으로 압축하거나 git 저장소에 올린 후 해당 주소를 제출하면 됩니다.

ZIP 파일로 제출시 [학번]_[이름]_면제과제.zip 의 파일이름으로 bjh970913@korea.ac.kr 로 제출하시면 됩니다.

과제 통과시 준회원 1년 과정이 면제 되며 가을학기부터 정회원 스터디에 참가가능합니다.

1학기 정회원 스터디 시작전(03/28)까지 제출하여 통과하는 경우 1학기부터 정회원 스터디에 참여 가능합니다.

댓글