Soonlife DOCS

SCH Web Portal 개발 문서

순천향대학교 비공식 학생 포털 — 백엔드 API 명세 및 개발 협업 가이드

프로젝트 소개

SCH Web Portal은 순천향대학교 통합정보시스템의 불편한 UI를 대체하는 비공식 학생 포털입니다.

Django REST Framework 백엔드가 학교 서버와 통신하여 데이터를 중계하고, React + Vite 프론트엔드가 사용하기 편한 UI를 제공합니다.

기술 스택

레이어기술
백엔드Django 6.0.5, DRF, MariaDB (PyMySQL), cryptography, requests, beautifulsoup4, gunicorn
프론트엔드React 19, TypeScript 6, Vite 8, react-router-dom 7, @tabler/icons-react
배포GitHub Actions self-hosted runner → gunicorn(gthread) + nginx

구현된 기능

카테고리기능
인증SCH 로그인 / AES-256-GCM 세션 쿠키 / 자동 갱신 / Cloudflare Turnstile
학적학적정보 / 학적사항관리 10개 탭 / 증명사진 프록시
성적누적성적 / 학기성적 / 성적표(가정통신문)
졸업진도학점 매트릭스 / 비교과 역량 / 필수 교과목 이수 현황 / 강제 동기화
시간표개인 시간표 / 테마 스토어 / 교수별 / 강의실별 / 검색
교과과정학과별 교과과정
수강수강 과목 목록 / 수강신청 확인서 / 폐강 과목
장학장학금 검색 / 모집 게시판 / 증명서
기숙사고지서 / 호실 / 통행증 / 배정결과 / 상벌점 / 외박신청 / 점호 마일리지
활동봉사활동 / 비교과과정 / 봉사학습
등록금등록금 정보 / 교육비 증명서 / 등록 고지서
강의평가기간 조회 / 문항 조회 / 제출
웹메일메일함 7종 + 별표 골라보기 / 본문·첨부 다운로드 / 서식 편집기로 작성·발송 / 받는사람 자동완성 / 수신확인 / 휴지통 복구·완전삭제
기타하이플렉스 / 콰르텟 티칭 / SRC 프로그램실 예약 / 국제학생증 / 교환학생 패스 / 교직 이수
공통즐겨찾기 / 공지사항 / 학사일정

2026년 9월 말 순라이프 AI 챗봇이 제거되었습니다(/api/chat/*와 관련 DB 모델·의존성 포함). 서비스 이름은 "순라이프(Soonlife)"로 쓰이며, DB 이름도 soonlife로 바뀌었습니다.

빠른 시작

API 엔드포인트 요약

그룹경로 prefix주요 기능
인증/api/auth/로그인, 세션 갱신, 로그아웃
학적/api/academic/, /api/main/학적정보, 학적사항 탭별 조회
학사일정/api/events/월별 학사일정 (공개)
공지사항/api/notices/9개 카테고리 페이지네이션 (공개)
즐겨찾기/api/favorites/메뉴 즐겨찾기 저장
성적/api/grades/누적성적, 학기성적, 성적표
졸업/api/graduation/진도 상세, 강제 동기화
시간표/api/timetable/테마 CRUD, 검색, 편람
교수별/api/professor/교수 검색, 교수별 시간표
강의실별/api/classroom/건물/강의실 목록, 시간표
수강/api/class-list/, /api/course-registration/수강 과목, 확인서, 폐강
교과과정/api/curriculum/학과별 교과과정
장학/api/scholarship/장학금 검색, 게시판, 증명서
기숙사/api/dorm/고지서, 호실, 통행증, 외박, 상벌점
활동/api/volunteer-service/, /api/extracurricular/, /api/service-learning/봉사, 비교과, 봉사학습
등록금/api/tuition/, /api/edupay/등록금, 교육비 증명서
강의평가/api/lect-eval/기간, 문항, 제출
웹메일/api/mail/메일함 목록, 본문·첨부, 작성·발송, 수신확인, 별표, 휴지통
기타/api/hiflex/, /api/quartet/, /api/src/, /api/isic/, ...하이플렉스, 콰르텟, SRC 프로그램실, 국제학생증

On this page