사이트 링크 https://please-graduate.com/ |
개발일지 / 업데이트 기록 |
총 387개의 검사 기준으로, 62개의 모든 학과/전공 및 8개 학번(15~22)의 검사를 지원합니다.
재학생 인증을 통해 회원가입이 가능하고, 기이수성적 엑셀파일만 업로드하면 자동으로 검사합니다.
검사 결과에선 자신이 부족한 부분을 시각화해주고, 자신과 비슷한 사용자들이 많이 들었던 과목을 추천합니다.
- 세종대학교의 졸업요건은 기준 학점도 채워야하지만, 7가지 영역을 모두 만족해야 해서 매우 복잡합니다.
- 학교에서 제공되는 수강편람은 가독성이 떨어지기 때문에 재학생들이 졸업요건을 알기 쉽지 않습니다.
- 매년 개편되는 수강편람 때문에 학과와 학번별로 모든 졸업요건이 상이합니다.
- 졸업 필수과목의 과목명이나 학점이 변경되는 경우가 많아 혼란을 야기합니다.
- 복수/연계 전공을 신청한다면 졸업 요건이 변경됩니다.
졸업요건 영역 설명
상당히 복잡합니다
영역 | 만족조건 |
---|---|
전공필수 | 전필 기준학점을 만족하면 통과, 학점 초과시 전선 학점으로 인정 |
전공선택 | 전선 기준학점을 만족하면 통과 |
교양필수 | 교필 기준학점을 만족, 필수과목을 모두 이수하면 통과 |
교양선택 | 교선 기준학점을 만족, 필수과목을 모두 이수, 선택영역 3가지 이상 이수하면 통과 |
기초교양 | 기교 기준학점을 만족, 필수과목을 모두 이수하면 통과 |
영어인증 | 5가지 어학인증 기준점수를 만족 or Intensive English 과목을 이수하면 통과 |
고전독서 인증 | 4가지 영역이 있고, 각 영역 기준 권수를 만족 or 고전특강 과목을 이수하면 통과 |
항목을 클릭하여 자세히 볼 수 있습니다.
학생인증 및 회원가입
학생인증 및 회원가입 |
- Please Graduate는 학생인증을 해야만 회원가입이 가능합니다.
- 세종대학교 포털의 ID/PW를 입력받아 세종 고전독서인증센터 사이트에 로그인 후, 사용자 정보를 크롤링하여 인증합니다.
- 회원가입 시엔 전공 상태(복수/연계) 및 영어 인증(어학시험 점수) 정보를 입력합니다.
마이페이지
마이페이지 |
- 회원가입 때 기입한 정보를 모두 나타내며 각 정보는 수정이 가능합니다.
- 단 기본 사용자 정보(이름,학과,학번)와 고전독서현황은 고전독서인증센터 크롤링을 통해 업데이트합니다.
- 비밀번호 변경 및 회원탈퇴 기능을 제공합니다.
기이수과목 엑셀파일 업로드
기이수과목 엑셀파일 업로드 |
- 검사를 위해선 세종대학교 학사정보시스템에서 기이수성적 엑셀파일을 다운로드 받아 업로드해야합니다.
- 서버에서는 http request에서 파일을 추출해 업로드된 엑셀파일의 형식을 검사 후, 필요 정보만을 데이터베이스에 저장합니다.
기이수과목 커스텀
기이수과목 커스텀 |
- 사용자의 기이수과목을 편집할 수 있는 기능입니다.
- 미래 수강 계획을 세울 수 있도록 수강 예정인 과목을 미리 추가해 졸업요건을 검사해볼 수 있습니다.
- 사용자는 추가하고 싶은 과목을 학수번호로 검색한 후, 해당 과목의 이수구분을 선택하여 추가합니다.
- 검색 기능엔 AJAX를 도입하여 결과 화면이 새로고침되지 않도록 구현하였습니다.
졸업요건 검사
영역별 달성도 그래프 |
- 영역별 달성도를 시각화하여 사용자가 부족한 영역과 학점을 바로 보여줍니다.
- TIP 툴팁을 클릭하면 통과 기준을 알려줍니다.
검사 및 과목 추천 |
- Recommend 버튼을 누르면 각 영역의 세부 정보를 확인할 수 있습니다.
- 필수과목이 있는 영역에선 필수과목을 검사하여 부족한 과목을 추천합니다.
- 만약 기준 필수과목의 과목명이 변경되었다면 최신강의 중 동일과목을 추천합니다.
- 필수과목이 없는 영역에선 다른 사용자의 기이수과목 데이터를 참조해 과목을 추천합니다.
- 전공 영역 : 사용자와 동일한 학과의 모든 사용자 데이터를 참조해 수강 횟수를 기준으로 추천합니다.
- 교양 영역 : 모든 사용자의 데이터를 참조해 수강 횟수를 기준으로 추천합니다. (해당 사용자에게 부족한 선택영역만을 추천합니다.)
- Python 3.9
- Django 3.1.4
- MySQL 8.0.25
- AJAX
- Selenium, BeautifulSoup
- Pandas, django-pandas
- bcrypt
- openpyxl
- django-crontab
- Github Actions
- AWS EC2, RDS
- Nginx
- Uwsgi
- Docker, docker-compose
- Github Actions를 사용하여 CI/CD 파이프라인을 구축하였습니다.
- Nginx를 사용하여 리다이렉트 및 HTTPS + HTTP/2.0을 지원하고, 정적 파일을 제공합니다.
- 프론트엔드는 Django Template Engine을 사용해 SSR 방식으로 렌더링합니다.
- 일일 방문자수 구현을 위해 django-crontab을 사용합니다.