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