project init

This commit is contained in:
2026-02-06 02:17:59 +03:00
commit b9d9b9ed17
129 changed files with 22835 additions and 0 deletions

160
README.md Normal file
View File

@ -0,0 +1,160 @@
# 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