Files
course-craft-service/README.md
2026-02-06 02:17:59 +03:00

161 lines
5.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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