Class Scheduler
개요
- 2019.09 ~ 2019.12
- By Webcake (Team of 3 programmers)
- ReactJS, Postgresql
- 브라우저 기반의 DigiPen 학생을 타켓으로 한 수강 스케줄러
프로젝트 설명
DigiPen 학생들이 학기 수강 계획을 세울 수 있도록 도와주는 웹 어플리케이션입니다. 학생들은 자신들이 선택한 강의들이 시간대가 겹치는지의 여부를 시작적이고 보다 직관적인 강의 시간표를 통해 확인할 수 있습니다.
개발 내용
- 역할: 알고리즘 프로그래머
- DB에서 강의 정보를 정수형, 문자열로 변환하는 Parser 개발
- DB에 쿼리문을 보내 raw data 받음
- 받아온 데이터로 강의명, 섹션, 강의실, 요일, 교수명, 시작 시간과 종료 시간을 파싱
- 시간 충돌 감지 기능
- 파싱된 데이터를 통해 두 강의의 시간 충돌 여부를 확인하는 기능
- 학생이 선택한 강의들을 조합하여 시간표를 생성해주는 시간표 생성기 개발
- 불가능한 시간표를 필터링하고 조합 가능한 강의들로만 시간표를 생성
- Merging operator는 기존 시간표에 새 강의를 추가하고 시간 충돌 여부를 체크한 뒤, 학생이 고를 수 있는 새로운 시간표 후보군들을 생성
- Subtracting operator는 생성된 시간표 중 필터링할 강의를 포함하고 있는지 체크. 필터링할 강의를 포함한 시간표들은 후보군에서 제거
- 기능 검수
- 상기된 개발 목록; 강의 정보 Parser, 시간 충돌 감지 기능, 시간표 merge/subtract operator는 jtest를 통해 검수됨
- 검수를 통해 발견된 edge case들은 모두 수정 적용됨
- 스플래시 화면과 크레딧 화면 디자인
- tailwind css를 사용해 웹 어플리케이션 시작 시 DigiPen 로고 스플래시 화면과 우하단에 있는 버튼을 클릭 시 뜨는 크레딧 팝업 창을 구현