수업계는 중고등학교 시간표를 로컬에서 생성하고 편집하는 데스크톱 앱과 소개 웹사이트로 구성된 프로젝트입니다.
classgen-desktop/ Electron + React 데스크톱 앱
classgen-website/ GitHub Pages용 소개 사이트
cd classgen-desktop
npm install
npm run dev
npm run dev:web
npm run build
npm run distnpm run dist는 Windows 설치 파일을 classgen-desktop/release에 생성합니다. 모든 데이터는 브라우저의 localStorage에만 저장되며 서버, 로그인, 결제 기능은 없습니다.
npm run dev:web은 Electron 창 없이 데스크톱 UI를 http://127.0.0.1:5173에서 바로 확인합니다.
cd classgen-website
npm install
npm run dev
npm run build
npm run deployGitHub Pages 배포 전 classgen-website/vite.config.ts의 base 값을 저장소 이름에 맞게 조정하세요.
개발 중에는 http://127.0.0.1:5174에서 홈페이지를 확인할 수 있습니다.
- 교사, 학급, 과목, 교실, 수업 배정 관리
- 고정 시간과 교사 불가 시간을 고려한 자동 시간표 생성
- 교사, 학급, 교실 충돌 검사
- 담임교사의 4·5교시 중 최소 한 교시 점심 공강 보장
- 드래그 앤 드롭 수동 이동 및 실행 취소
- 학급/교사/교실별 시간표 보기
- 교사별·교실별 시트와 필터가 포함된 엑셀 시간표 다운로드
- 홈페이지 엑셀 양식 다운로드 및 엑셀 일괄 등록
- 합반 수업 자동 배정
- CSV 다운로드
- 로컬 저장
고급 최적화, 서버 연동, 계정, 결제, 광고, 라이선스 인증은 구현하지 않았습니다. 향후에는 연속 수업, 오전 선호, 공강 최소화 등 희망 조건의 점수 기반 최적화를 강화할 수 있습니다.