158 lines
4.8 KiB
Markdown
158 lines
4.8 KiB
Markdown
# Список изменений - 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/`.
|