noteJS-react/CHANGES.md

4.8 KiB
Raw Blame History

Список изменений - 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 с инструкциями

Запуск:

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 для параллельного запуска

Запуск только фронтенда:

npm run dev

Адрес: http://localhost:5173


🚀 Запуск всего приложения

Вариант 1: Одна команда (рекомендуется)

npm start

Это запустит фронтенд и бэкенд одновременно.

Вариант 2: Раздельный запуск

Терминал 1 (Backend):

cd backend
npm start

Терминал 2 (Frontend):

npm run dev

📋 Установка зависимостей

Первый раз:

# Фронтенд
npm install

# Бэкенд
cd backend
npm install
cd ..

🔧 Конфигурация

Backend (.env)

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

PORT=3001
SESSION_SECRET=your-secret-key-here
NODE_ENV=development
ENCRYPTION_KEY=your-encryption-key-min-32-chars

Важно: ENCRYPTION_KEY используется для шифрования заметок в базе данных. Используйте надежный случайный ключ минимум 32 символа!


📍 Порты


Преимущества новой структуры

  1. Независимость: Фронтенд и бэкенд могут разрабатываться и деплоиться независимо
  2. Современный стек: Vite для быстрой разработки фронтенда
  3. Hot Reload: Автоматическая перезагрузка при изменениях
  4. TypeScript: Типизация на фронтенде
  5. Proxy: Нет проблем с CORS в разработке
  6. Раздельные зависимости: Чистое разделение фронтенд/бэкенд зависимостей

📖 Документация


🔄 Совместимость со старым приложением

Старое приложение (порт 3000) и новое (порты 5173 + 3001) могут работать одновременно.

База данных: Оба приложения используют разные базы данных:

  • Старое: /database/notes.db
  • Новое: /backend/database/notes.db

Если нужно использовать общую базу, можно скопировать файлы из /database/ в /backend/database/.