project init
This commit is contained in:
160
README.md
Normal file
160
README.md
Normal 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
|
||||
Reference in New Issue
Block a user