# CourseCraft - AI-Powered Course Creation Platform CourseCraft - это платформа для создания образовательных курсов с помощью искусственного интеллекта. Просто опишите тему курса, и AI создаст полноценный курс с структурой, главами, уроками и контентом. ## Возможности - **AI-генерация курсов** - создание курсов по текстовому описанию - **Уточняющие вопросы** - AI задаёт вопросы для лучшего понимания потребностей - **WYSIWYG редактор** - редактирование курсов с помощью TipTap - **AI-режим редактирования** - переписывание текста с помощью нейросети - **Система тарифов** - FREE, PREMIUM, PRO с разными лимитами - **Настраиваемые AI модели** - возможность выбора модели через OpenRouter ## Технологический стек ### Frontend - Next.js 14 (App Router) - TypeScript - TailwindCSS + shadcn/ui - TipTap - WYSIWYG редактор - Framer Motion - анимации ### Backend - NestJS - PostgreSQL + Prisma - Redis + BullMQ - Supabase Auth - Stripe - платежи ### AI - OpenRouter API - Настраиваемые модели (GPT-4, Claude, Llama и др.) ### Инфраструктура - Docker Compose - Meilisearch - полнотекстовый поиск - pgvector - embeddings ## Быстрый старт ### Требования - Node.js 20+ - pnpm 9+ - Docker и Docker Compose ### Установка 1. Клонируйте репозиторий: ```bash git clone https://github.com/your-username/coursecraft.git cd coursecraft ``` 2. Установите зависимости: ```bash pnpm install ``` 3. Создайте файл `.env` из примера: ```bash cp .env.example .env ``` 4. Заполните переменные окружения в `.env`: - `DATABASE_URL` - URL PostgreSQL - `REDIS_URL` - URL Redis - `NEXT_PUBLIC_SUPABASE_URL` - URL вашего Supabase проекта - `NEXT_PUBLIC_SUPABASE_ANON_KEY` - Anon key Supabase - `SUPABASE_SERVICE_ROLE_KEY` - Service role key Supabase - `OPENROUTER_API_KEY` - API ключ OpenRouter - `STRIPE_SECRET_KEY` - Secret key Stripe - `STRIPE_WEBHOOK_SECRET` - Webhook secret Stripe - `MEILISEARCH_API_KEY` - Master key Meilisearch 5. Запустите Docker контейнеры: ```bash pnpm docker:up ``` 6. Примените миграции базы данных: ```bash pnpm db:push ``` 7. Запустите приложение в режиме разработки: ```bash pnpm dev ``` Приложение будет доступно по адресам: - Frontend: http://localhost:3000 - API: http://localhost:3001 - API Docs: http://localhost:3001/docs - Meilisearch: http://localhost:7700 ## Структура проекта ``` coursecraft/ ├── apps/ │ ├── web/ # Next.js Frontend │ ├── api/ # NestJS Backend │ └── ai-service/ # AI Pipeline Service ├── packages/ │ ├── database/ # Prisma схема │ └── shared/ # Общие типы и утилиты ├── docker/ │ └── docker-compose.yml └── turbo.json ``` ## Команды ```bash # Разработка pnpm dev # Запуск всех сервисов pnpm build # Сборка всех пакетов pnpm lint # Проверка кода # База данных pnpm db:generate # Генерация Prisma клиента pnpm db:push # Применение схемы pnpm db:migrate # Создание миграции pnpm db:studio # Открыть Prisma Studio # Docker pnpm docker:up # Запуск контейнеров pnpm docker:down # Остановка контейнеров pnpm docker:logs # Логи контейнеров ``` ## Тарифные планы | План | Курсов/мес | AI Модель | Цена | |------|-----------|-----------|------| | Free | 2 | GPT-4o Mini | $0 | | Premium | 5 | GPT-4o Mini | $9.99 | | Pro | 15 | GPT-4o Mini (или своя в настройках) | $29.99 | На Pro плане можно указать любую модель OpenRouter в настройках. ## Конфигурация AI моделей По умолчанию используется **openai/gpt-4o-mini**. На плане Pro в настройках можно указать свою модель OpenRouter, например: ``` openai/gpt-4o-mini anthropic/claude-3.5-sonnet openai/gpt-4-turbo ``` Формат: `provider/model-name` ## Лицензия MIT ## Поддержка - Email: support@coursecraft.ai - Docs: https://docs.coursecraft.ai