# Быстрый старт NoteJS React

## 🚀 Первый запуск

### 1. Установка всех зависимостей

```bash
# Установка зависимостей фронтенда
npm install

# Установка зависимостей бэкенда
cd backend && npm install && cd ..
```

### 2. Запуск приложения

```bash
# Запуск фронтенда и бэкенда одновременно
npm start
```

Приложение будет доступно по адресу: **http://localhost:5173**

⚠️ **ВАЖНО:** Открывайте именно **http://localhost:5173** (Frontend), а НЕ http://localhost:3001 (Backend API)

## 🏗️ Архитектура

Приложение разделено на два независимых сервера:

1. **Frontend (React + Vite)** - порт 5173

   - Отображает интерфейс пользователя
   - Обрабатывает роутинг
   - Проксирует API запросы к бэкенду

2. **Backend (Node.js + Express)** - порт 3001
   - Предоставляет REST API
   - Работает с базой данных
   - Обрабатывает аутентификацию
   - Хранит файлы и изображения

**Как это работает:**

- Вы открываете http://localhost:5173
- Frontend отображает интерфейс
- При запросе данных Frontend обращается к Backend API
- Backend обрабатывает запрос и возвращает данные

## 📋 Полезные команды

### Запуск

```bash
# Запуск всего приложения (фронтенд + бэкенд)
npm start
# или
npm run dev:all

# Запуск только фронтенда
npm run dev

# Запуск только бэкенда
npm run server
# или
cd backend && npm start
```

### Сборка

```bash
# Production сборка фронтенда
npm run build

# Предпросмотр production сборки
npm run preview
```

### Разработка

```bash
# Проверка кода (линтинг)
npm run lint
```

## 🔧 Первоначальная настройка

### 1. Настройка бэкенда

Создайте файл `backend/.env`:

```env
PORT=3001
SESSION_SECRET=замените-на-свой-секретный-ключ
NODE_ENV=development
ENCRYPTION_KEY=замените-на-свой-ключ-минимум-32-символа
```

**Важно:** `ENCRYPTION_KEY` используется для шифрования заметок в базе данных. Используйте надежный случайный ключ минимум 32 символа!

### 2. Первый пользователь

1. Откройте http://localhost:5173
2. Перейдите на страницу регистрации
3. Создайте учетную запись

### 3. Настройка AI (опционально)

1. Войдите в приложение
2. Перейдите в "Настройки"
3. Вкладка "AI настройки"
4. Введите:
   - API ключ
   - Base URL (например: `https://api.openai.com/v1/`)
   - Модель (например: `gpt-3.5-turbo`)
5. Включите "Включить AI функционал"

## 📍 Адреса

- **Фронтенд (dev)**: http://localhost:5173
- **Бэкенд API**: http://localhost:3001
- **Старая версия**: http://localhost:3000 (если запущена)

## ❓ Проблемы

### Порт уже занят

Если порт 3001 или 5173 занят:

1. Измените порт в `backend/.env` (для бэкенда)
2. Измените порт в `vite.config.ts` (для фронтенда)

### База данных не создается

Проверьте, что папка `backend/database/` существует и доступна для записи.

### Не загружаются файлы

Проверьте, что папка `backend/public/uploads/` существует и доступна для записи.

## 📖 Документация

Полная документация в файле [README_RU.md](README_RU.md)

Backend документация: [backend/README.md](backend/README.md)
