noteJS-react/CHANGES.md

158 lines
4.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Список изменений - NoteJS React
## Структура проекта
Проект реорганизован для независимой работы фронтенда и бэкенда:
### ✅ Backend (Node.js + Express)
**Расположение:** `backend/`
**Что сделано:**
- ✅ Скопирован `server.js` из корня проекта
- ✅ Скопированы `package.json` и `package-lock.json`
- ✅ Изменён порт с `3000` на `3001` (чтобы не конфликтовать со старым приложением)
- ✅ Установлены все зависимости (`npm install`)
- ✅ Созданы папки:
- `database/` - для SQLite баз данных
- `public/uploads/` - для загруженных файлов
- ✅ Создан `.gitignore` для исключения ненужных файлов
- ✅ Создан `README.md` с инструкциями
**Запуск:**
```bash
cd backend
npm start
```
**Адрес:** http://localhost:3001
---
### ✅ Frontend (React + TypeScript)
**Расположение:** `src/`
**Что сделано:**
- ✅ Обновлён `vite.config.ts`:
- Порт изменён на `5173` (стандартный для Vite)
- Настроен proxy для API запросов к бэкенду (`http://localhost:3001`)
- Добавлены proxy правила для `/api`, `/uploads`, `/logout`
- ✅ Обновлён `package.json`:
- Добавлен скрипт `server` для запуска бэкенда
- Добавлен скрипт `dev:all` для одновременного запуска фронтенда и бэкенда
- Добавлен скрипт `start` как алиас для `dev:all`
- Установлен пакет `concurrently` для параллельного запуска
**Запуск только фронтенда:**
```bash
npm run dev
```
**Адрес:** http://localhost:5173
---
## 🚀 Запуск всего приложения
### Вариант 1: Одна команда (рекомендуется)
```bash
npm start
```
Это запустит фронтенд и бэкенд одновременно.
### Вариант 2: Раздельный запуск
**Терминал 1 (Backend):**
```bash
cd backend
npm start
```
**Терминал 2 (Frontend):**
```bash
npm run dev
```
---
## 📋 Установка зависимостей
### Первый раз:
```bash
# Фронтенд
npm install
# Бэкенд
cd backend
npm install
cd ..
```
---
## 🔧 Конфигурация
### Backend (.env)
Создайте файл `backend/.env`:
```env
PORT=3001
SESSION_SECRET=your-secret-key-here
NODE_ENV=development
ENCRYPTION_KEY=your-encryption-key-min-32-chars
```
**Важно:** `ENCRYPTION_KEY` используется для шифрования заметок в базе данных. Используйте надежный случайный ключ минимум 32 символа!
---
## 📍 Порты
- **Frontend (dev):** http://localhost:5173
- **Backend (новый):** http://localhost:3001
- **Старое приложение:** http://localhost:3000 (если запущено)
---
## ✨ Преимущества новой структуры
1. **Независимость:** Фронтенд и бэкенд могут разрабатываться и деплоиться независимо
2. **Современный стек:** Vite для быстрой разработки фронтенда
3. **Hot Reload:** Автоматическая перезагрузка при изменениях
4. **TypeScript:** Типизация на фронтенде
5. **Proxy:** Нет проблем с CORS в разработке
6. **Раздельные зависимости:** Чистое разделение фронтенд/бэкенд зависимостей
---
## 📖 Документация
- [QUICK_START.md](QUICK_START.md) - Быстрый старт
- [README_RU.md](README_RU.md) - Полная документация на русском
- [backend/README.md](backend/README.md) - Документация бэкенда
- [DEBUG.md](DEBUG.md) - Отладка и решение проблем
---
## 🔄 Совместимость со старым приложением
Старое приложение (порт 3000) и новое (порты 5173 + 3001) могут работать одновременно.
**База данных:** Оба приложения используют разные базы данных:
- Старое: `/database/notes.db`
- Новое: `/backend/database/notes.db`
Если нужно использовать общую базу, можно скопировать файлы из `/database/` в `/backend/database/`.