# NoteJS Backend

Backend сервер для приложения NoteJS на Node.js и Express.

## Установка

```bash
npm install
```

## Настройка

Создайте файл `.env` в корне папки `backend`:

```env
PORT=3001
SESSION_SECRET=your-secret-key-here-change-in-production
NODE_ENV=development
ENCRYPTION_KEY=your-encryption-key-minimum-32-characters-long
```

**Важно:**
- `ENCRYPTION_KEY` - ключ для шифрования заметок в базе данных (минимум 32 символа)
- В продакшене ОБЯЗАТЕЛЬНО используйте надежный случайный ключ
- Потеря ключа приведет к невозможности дешифрования существующих заметок!

## Запуск

### Отдельный запуск бэкенда:

```bash
npm start
```

или

```bash
node server.js
```

### Запуск фронтенда и бэкенда вместе:

Из корня проекта `notejs-react`:

```bash
npm start
```

или

```bash
npm run dev:all
```

## Порты

- **Backend**: `http://localhost:3001`
- **Frontend (dev)**: `http://localhost:5173`

Frontend автоматически проксирует API запросы к бэкенду.

## Структура

- `database/` - SQLite базы данных (notes.db, sessions.db)
- `public/uploads/` - загруженные файлы (аватары, изображения, файлы заметок)
- `server.js` - основной файл сервера

## API Endpoints

- `/api/auth/*` - аутентификация
- `/api/notes/*` - работа с заметками
- `/api/user/*` - профиль пользователя
- `/api/ai/*` - AI функционал
- `/api/logs` - логи действий
