[기획 배경]
- 하루 종일 학교에 있어야 하는 비효율적인 시간표
- 공강 시간이 길어 애매한 시간 활용
- 원하는 조건을 반영하기 어려움 ➔ 여러 조건으로 최적화된 시간표 계산
MyTime은 사용자로부터 입력받은 정보를 바탕으로 사용자에게 최적화된 시간표를 계산 후 추천해주는 프로그램입니다.
1. 사용자는 회원가입 및 로그인 후 사이트에 접속이 가능합니다.
2. 사용자 정보는 DB에 저장합니다.
3. 에브라타임에서 웹크롤링을 통해 시간표 데이터를 추출한 후 엑셀 파일로 저장합니다.
4. 사용자가 입력한 과목명과 일치하는 데이터를 과목 CSV데이터에서 검색 후 사용자가 입력한 조건을 기준으로 Brute Force 알고리즘에 기반해 최종 시간표를 계산합니다.
5. 수업 간의 시간 차가 가장 적은 순서대로 정렬해 사용자에게 보여줍니다.
Flask_SQULAlchemy를 이용해 구축한 데이터베이스 SQLite에 사용자 정보와 시간표 관련 데이터를 저장합니다. 비밀번호는 werkzeug.security 라이브러리의 generate_password_hash와 check_password_hash를 사용해 비밀번호를 안전하게 저장합니다.
사용자가 수강을 원하는 전공 및 교양 과목의 정보를 입력합니다.
수업간의 시간차가 작은 순서대로 시간표를 출력합니다. PREV와 NEXT 버튼으로 이동하며 확인이 가능합니다.
- 강다윤
- 김재민
- 윤기종