프로젝트 소개
이 시스템은 대만 K–12 학교 교무 담당자의 일상 업무 흐름을 중심으로 설계된 시간표 편성 및 대체·보강 시스템으로, MIT 라이선스, 단일 학교 자체 구축, 순수 웹 형태이며 인터페이스는 번체 중국어이고 대만 교육 용어를 사용합니다.
기능 범위는 상당히 완전합니다. 기초 데이터 부분은 학기 및 교시표(다학제 템플릿), 교사/학급/교과/장소, Excel 가져오기, 설정 마법사, 새 학기 복사, 그리고 혼합 학제의 학급 및 교시표 배정을 포함합니다. 배정 및 수동 편성은 이동 수업 그룹, 협동 수업, 연속 수업, 시수 실시간 통계, 드래그 방식 주간 시간표, 단일 칸 충돌 검사, 다중 초안 버전 관리 및 게시를 지원합니다. 자동 편성은 Google OR-Tools CP-SAT 엔진을 사용하여 H1–H10 하드 제약과 S1–S8 소프트 제약 가중치로 해를 구하며, 백그라운드 실행과 실시간 진행률을 제공합니다. 해가 없을 때는 교무 언어로 충돌을 찾아내고 부분 편성을 지원합니다.
대체·보강 흐름은 휴가 등록 및 영향받는 교시 전개, 대체 교사 추천, 수업 교환 검증, 배정 즉시 적용, 사내 및 Email 알림과 확인, 오늘 대시보드와 A4 공고 인쇄, 그리고 월말 시수 통계 Excel 내보내기를 포함합니다. 보고서는 학급, 교사, 장소 시간표를 Excel, PDF(중국어 글꼴 내장) 또는 PNG로 출력할 수 있으며, 전교 총표와 일괄 zip도 제공합니다. 운영 측면에는 매일 자동 백업, 수동 백업/다운로드/업로드 복원, 감사 기록 및 RBAC 역할 권한이 있습니다.
기술 스택은 Vue 3 + TypeScript + Vite + Pinia + Naive UI 프런트엔드, Python 3.12 + FastAPI + SQLAlchemy 2 + Pydantic v2 백엔드, PostgreSQL 16 데이터베이스, Redis와 RQ로 백그라운드 편성 및 내보내기·백업 작업을 실행하며, Caddy를 리버스 프록시로 사용하고 전체를 Docker Compose로 6개 컨테이너로 배포합니다. 공식 이미지는 amd64와 arm64를 동시에 제공하며, 최소 요구 사항은 2코어 / 4GB RAM / 10GB 디스크이고 자동 편성에는 4코어 8GB를 권장합니다.
설치는 원클릭 스크립트(Windows PowerShell 및 Linux/macOS/NAS용 bash 버전)를 제공하며, 공식 이미지를 가져오거나 소스 코드에서 빌드할 수도 있습니다. 프로젝트는 의도적으로 먼저 다운로드한 후 실행하도록 설계되어 파이프라인으로 직접 실행하지 않으므로 사용자가 내용을 먼저 검토할 수 있습니다. 시스템에는 데모 데이터 기능이 내장되어 있어 아직 학기를 만들지 않은 상태에서 가상의 중학교 전체 데이터를 빠르게 생성하여 편성, 대체·보강, 내보내기 및 백업 흐름을 체험할 수 있습니다.
문서는 교무 담당자 운영 매뉴얼(11장 그림·텍스트 웹페이지), 배포 매뉴얼, 아키텍처 설계, 개발 작업 카드, 변경 기록 및 기여 가이드를 포함하며, 오프라인으로 읽을 수 있는 HTML 버전도 제공합니다. 프로젝트 상태는 v1.2.4이며, 6대 마일스톤 M0–M5가 완료되었고 단위, 통합 및 종단 간 테스트가 있습니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.