Synaplan
Open-source AI platform for companies: self-hosted AI agents, GDPR-compliant chatbot widget, RAG knowledge base, WhatsApp and Outlook AI, MCP, multi-model routing. Docker, Kubernetes or hosted in Germ
출결·시간표·수납·상담·학부모 알림까지, 학원 운영에 필요한 일을 한곳에서 관리하세요.
Translation pending
BusinessHTML · TypeScriptGitHub @chrismathoneOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Lightweight rewrite of ijw-calander (academy management). Next.js 16 + Supabase + Drizzle + shadcn/ui.
Translation pending
Taken from the repository README
Loading the full README.
Read the full README ↗D:\ijw-calander의 어설픈 구조와 부풀어 오른 메뉴(43개 탭)를 정리하여 12개 메뉴 + 단순한 카테고리로 다시 짠 데모 프로젝트입니다. 완성도가 충분히 올라가면 실 운영 데이터를 마이그레이션해 기존 시스템을 대체합니다.
generateJSON() (등록상담·학생케어·회의록)운영실 (AI 실행 큐·운영 브리핑) · 수업 운영 [시간표/출결 처리/반·수업/수업 보고] · 학생 [학생/학생 상담/등록 상담/이탈 신호/퇴원] · 경영 [팀/수납·청구/회의/문서함] · 설정
?tab=).진행 상황·셋업·다음 할 일은 HANDOFF.md, 상세 규약·함정은 CLAUDE.md, 구조는 src/features/README.md 참고.
# 1. 환경변수 설정
cp .env.local.example .env.local
# Supabase Project Settings → API/Database에서 값을 채워 넣기
# 2. 의존성 설치 (이미 설치되어 있다면 생략)
pnpm install
# 3. 개발 서버
pnpm dev
http://localhost:3100 접속. (포트 3100 고정)
pnpm dev # Next 개발 서버
pnpm build # 프로덕션 빌드
pnpm typecheck # tsc --noEmit
pnpm lint # ESLint
pnpm test # Vitest 단위 테스트
pnpm test:watch # Vitest watch
pnpm test:e2e # Playwright E2E (dev 서버 자동 기동)
pnpm db:generate # Drizzle 스키마 → SQL 초안(supabase/drizzle-out/ — 필요한 문장만 s2_NNNN 파일로)
pnpm db:alphas # 새(빈) DB 셋업 — 시즌1 합본 구역 → 시즌2 파일(빈 DB가 아니면 멈춘다 · db:migrate는 안내만)
pnpm db:studio # Drizzle Studio (테이블 탐색기)
src/
├─ app/ # Next 라우트 (Phase 1에서 (shell)/(auth)/(print) 그룹 추가)
├─ components/ui/ # shadcn 생성물
├─ features/ # 도메인별 모듈 — 12개 메뉴 = 12개 폴더
├─ hooks/ # 공용 클라이언트 훅
└─ lib/
├─ supabase/ # server/client/middleware 클라이언트
├─ db/ # Drizzle 클라이언트 + schema
├─ ai/ # Claude API 래퍼
├─ providers/ # React Query 등 Context Provider
├─ permissions.ts # 역할 × 메뉴 접근 매트릭스
└─ utils.ts # shadcn 기본 cn() 헬퍼
supabase/
├─ migrations/ # drizzle-kit 생성 SQL + 손수 다듬은 RLS 정책
├─ tests/ # pgTAP RLS 검증
└─ seed.sql # 데모 시드
tests/
├─ unit/ # Vitest
└─ e2e/ # Playwright
12개 메뉴 + ijw 패리티 + Admin/super-admin + 멀티윈도우 워크스페이스 + 수납관리 책갈피(교재/지출)까지 구현 완료.
현재 작업 상태·다음 할 일은 HANDOFF.md, 진행 이력은 CLAUDE.md "진행 상황" 참고.
(⚠️ 테넌트 injaewon은 운영 실데이터다. 데모 시드(pnpm db:seed)는 운영 DB를 지울 수 있어 2026-09-19 영구 제거했다.)