프로젝트 소개
CokieCollege는 교육 기관의 학업, 징계 및 행정 관리를 위한 포괄적인 다중 플랫폼 솔루션입니다. 관리자, 학년 조정자, 교사, 학생 및 카페테리아 직원 간의 실시간 상호작용을 웹 및 모바일 애플리케이션을 통해 촉진하는 것을 목표로 합니다.
아키텍처
시스템은 분리된 모듈로 구성됩니다. 백엔드는 Node.js 및 Express 5.x 기반 REST API로, 비즈니스 로직, Helmet을 통한 보안, 요청 제한, GZIP 압축, Supabase를 통한 관리자 인증, Expo Server SDK를 통한 푸시 알림을 관리합니다. 모바일 앱은 Expo 54, Expo Router 및 i18next(스페인어 및 영어)로 개발되었으며, 밝은 및 어두운 모드의 적응형 디자인을 제공합니다. 웹 포털은 기관 모니터링 및 관리를 위해 React 및 Vite를 사용합니다. 또한 시각적 프로토타입 및 디자인 리소스 폴더가 포함됩니다. 데이터베이스는 Supabase PostgreSQL로, Row Level Security 정책, 인증, 저장소 및 트리거를 갖추고 있습니다.
역할별 기능
학생 모듈은 출석 모니터링 및 4색 행동 신호등이 포함된 교육 일지, 활동별 백분율 세부 내역이 있는 성적 콘솔, Supabase Storage에 첨부 파일을 포함한 결석 사유 요청, 수령 및 결제를 위한 QR 코드 생성이 포함된 점심 사전 주문을 제공합니다.
교사 모듈은 0.00에서 10.00까지의 유효성 검사 및 기간별 카운트다운이 있는 성적 입력 및 기록, 조정자에게 연장 티켓 요청, 수업 및 과목별 실시간 출석 체크를 허용합니다.
조정자 및 관리자 모듈은 역할별 필터링 및 페이지네이션이 있는 사용자 관리, 증거 검토를 통한 결석 사유 승인, 교육 수준별 기관 공지 및 이벤트 전파, 시간표, 섹션, 교실 및 학업 부하 할당을 포함합니다.
카페테리아 모듈은 일일 메뉴 게시, 주문 상태(주문됨, 준비됨, 전달됨) 관리, QR 코드 스캔을 통한 점심 전달 확인을 허용합니다.
시작하기
Node.js 18 이상, Expo CLI 및 Supabase 계정이 필요합니다. Supabase 편집기에서 SQL 스크립트를 실행하여 테이블, 열거형 유형, 함수, 뷰 및 RLS 정책을 초기화합니다. 그런 다음 .env 파일을 구성하여 백엔드를 설치 및 시작하고, Expo로 모바일 앱을 시작합니다. 모바일 빌드 및 OTA 업데이트는 EAS로 수행됩니다.
보안 및 성능
프로젝트는 Supabase 테이블에서 Row Level Security를 활성화하고, helmet, express-rate-limit 및 GZIP 압축으로 HTTP 보호를 적용하며, 무거운 쿼리를 최적화하기 위한 데이터베이스 인덱스를 포함합니다. 스페인어 및 영어 국제화를 지원합니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.