# Команды NoteJS React

## 🔧 Установка

```bash
# Автоматическая установка всех зависимостей
./install.sh

# Или вручную:
npm install                  # Фронтенд
cd backend && npm install    # Бэкенд
```

## 🚀 Запуск

```bash
# Запуск всего приложения (рекомендуется)
./start.sh
# или
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
```

## 📂 Структура команд

### Package.json (корень)

- `npm run dev` - Запуск Vite dev сервера (фронтенд)
- `npm run build` - Сборка production версии
- `npm run preview` - Предпросмотр production сборки
- `npm run lint` - Проверка кода
- `npm run server` - Запуск бэкенда
- `npm run dev:all` - Запуск фронтенда и бэкенда одновременно
- `npm start` - Алиас для `dev:all`

### Backend/package.json

- `npm start` - Запуск сервера
- `npm run dev` - Запуск с nodemon (auto-reload)

## 🌐 Адреса

После запуска приложение доступно по адресам:

- **Frontend (dev):** http://localhost:5173
- **Backend API:** http://localhost:3001
- **Старая версия:** http://localhost:3000 (если запущена)

## 🔑 Переменные окружения

### Backend (.env)

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

```env
PORT=3001
SESSION_SECRET=ваш-секретный-ключ
NODE_ENV=development
```

## 📝 Примеры использования

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

```bash
# 1. Клонирование репозитория
git clone <repo-url>
cd notejs-react

# 2. Установка зависимостей
./install.sh

# 3. Настройка бэкенда (создать .env)
nano backend/.env

# 4. Запуск
./start.sh
```

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

```bash
# Терминал 1: Backend с auto-reload
cd backend
npm run dev

# Терминал 2: Frontend с hot-reload
npm run dev
```

### Production

```bash
# 1. Сборка фронтенда
npm run build

# 2. Запуск бэкенда
cd backend
NODE_ENV=production npm start
```

## 🐛 Отладка

```bash
# Проверка портов
lsof -i :3001  # Backend
lsof -i :5173  # Frontend

# Логи бэкенда
cd backend
npm start

# Логи фронтенда
npm run dev
```

## 🔄 Работа с базой данных

```bash
# Просмотр базы данных (SQLite)
sqlite3 backend/database/notes.db

# Создание резервной копии
cp backend/database/notes.db backend/database/notes.db.backup

# Восстановление
cp backend/database/notes.db.backup backend/database/notes.db
```

## 📦 Обновление зависимостей

```bash
# Проверка устаревших пакетов (фронтенд)
npm outdated

# Обновление (фронтенд)
npm update

# Проверка устаревших пакетов (бэкенд)
cd backend
npm outdated
npm update
```

## 🧪 Тестирование

```bash
# В будущем здесь будут команды для тестов
# npm test
```

## 📋 Git

```bash
# Статус
git status

# Добавить изменения
git add .

# Коммит
git commit -m "Описание изменений"

# Отправка
git push
```
