Skip to content

jaykay-p/teaching-note

Repository files navigation

티칭노트 (TeachingNote)

프로젝트 소개

고등 영어 학원 선생님들을 위한 LLM 기반 교육 컨텐츠 생성 서비스.

입력한 지문을 바탕으로 학습 자료를 자동으로 생성합니다.

핵심 기능

  • AI 기반 문제 생성: LLM(Anthropic Claude, OpenAI GPT, Groq)을 활용하여 영어 지문으로부터 다양한 문제 유형 자동 생성
  • 커스터마이징 가능한 템플릿: XML 기반의 유연한 템플릿 시스템으로 학원별 특성에 맞는 학습 자료 생성
  • 에디터: Lexical 기반 에디터로 생성된 콘텐츠를 포맷 유지한 상태로 복사
  • 인쇄 최적화: A4 용지 페이지네이션 및 인쇄 기능 지원

주요 문제 유형

  • 주제/제목 찾기
  • 문장 배열
  • 요약문 작성
  • 문장 분석
  • 어휘 문제
  • 참/거짓 문제
  • 문장 삽입
  • 지문 분석

기술 스택

Frontend

  • Framework: Next.js 14 (App Router)
  • UI Library: React 18
  • Editor: Lexical
  • State Management: XState 5
  • Styling: Tailwind CSS, Radix UI
  • Authentication: Supabase Auth

Backend & AI

  • LLM Integration: LangChain, LangGraph
  • AI Models: Anthropic Claude, OpenAI GPT, Groq
  • Translation: DeepL API
  • Database: Supabase
  • Monitoring: Langfuse (LLM 모니터링), Sentry (에러 트래킹)

Monorepo & DevOps

  • Monorepo Tool: Nx 20
  • Package Manager: pnpm
  • Testing: Vitest, Jest
  • Code Quality: TypeScript, ESLint, Prettier, Husky

프로젝트 구조

aisheet/
├── apps/
│   ├── aisheet/          # 메인 Next.js 웹 애플리케이션
│   ├── cli/              # LLM 테스트용 CLI
│   └── uploader/         # 파일 업로드 유틸리티
├── packages/
│   ├── editor/           # Lexical 기반 리치 텍스트 에디터
│   ├── templates/        # XML 기반 템플릿 시스템 및 컴파일러
│   ├── prompts/          # LLM 프롬프트 및 LangChain 체인
│   ├── supabase/         # Supabase 클라이언트
│   ├── supabase-ssr/     # Supabase SSR 유틸리티
│   ├── ui/               # 공통 UI 컴포넌트
│   └── shared/           # 공유 유틸리티

실행 방법

개발 서버 실행

pnpx nx dev aisheet

프로덕션 빌드

pnpx nx build aisheet --prod

타입 체크

pnpx nx type-check aisheet

테스트 실행

pnpx nx test <project-name>

환경 변수 설정

프로젝트 실행을 위해서는 다음 환경 변수들이 필요합니다:

  • LLM API Keys (Anthropic, OpenAI, Groq)
  • Supabase
  • DeepL API Key
  • Langfuse 프로젝트 정보

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published