noteJS-react/README_RU.md

5.1 KiB
Raw Blame History

NoteJS React - Приложение для заметок

Современное PWA приложение для ведения заметок с поддержкой Markdown, изображений, файлов и AI.

Структура проекта

notejs-react/
├── backend/          # Backend сервер (Node.js + Express)
│   ├── database/     # SQLite базы данных
│   ├── public/       # Статические файлы и загрузки
│   ├── server.js     # Основной файл сервера
│   └── package.json  # Зависимости бэкенда
├── src/              # Frontend исходники (React + TypeScript)
│   ├── api/          # API клиенты
│   ├── components/   # React компоненты
│   ├── hooks/        # Кастомные хуки
│   ├── pages/        # Страницы приложения
│   ├── store/        # Redux store
│   ├── styles/       # CSS стили
│   ├── types/        # TypeScript типы
│   └── utils/        # Утилиты
├── public/           # Публичные файлы (иконки, манифест)
└── package.json      # Зависимости фронтенда

Установка

1. Установка зависимостей фронтенда

npm install

2. Установка зависимостей бэкенда

cd backend
npm install
cd ..

Запуск

Вариант 1: Запуск всего приложения (рекомендуется)

npm start

или

npm run dev:all

Это запустит:

  • Frontend на http://localhost:5173
  • Backend на http://localhost:3001

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

Frontend:

npm run dev

Backend (в отдельном терминале):

npm run server

или

cd backend
npm start

Функционал

Основные возможности

  • 📝 Создание и редактирование заметок с Markdown
  • 🖼️ Загрузка изображений к заметкам
  • 📎 Прикрепление файлов (PDF, DOC, XLS, ZIP и др.)
  • 📌 Закрепление важных заметок
  • 📦 Архивация заметок
  • 🔍 Поиск по заметкам и тегам
  • 📅 Календарь заметок
  • 🏷️ Система тегов
  • 🌓 Светлая/тёмная тема
  • 🎨 Настройка цветовой схемы
  • 👤 Профили пользователей с аватарами

🤖 AI функционал

  • Улучшение текста заметок
  • Исправление ошибок
  • Генерация контента
  • Настройка собственного OpenAI-совместимого API

📱 PWA

  • Установка как приложение
  • Работа офлайн (Service Worker)
  • Push-уведомления (опционально)
  • Адаптивный дизайн для всех устройств

Markdown поддержка

  • Заголовки (H1-H5)
  • Жирный и курсив
  • Списки (маркированные и нумерованные)
  • Зачеркнутый текст
  • Ссылки
  • Код и блоки кода
  • Todo списки с чекбоксами
  • ||Спойлеры||
  • Внешние ссылки

Технологии

Frontend

  • React 18
  • TypeScript
  • Redux Toolkit
  • React Router
  • Vite
  • Axios
  • Marked (Markdown)
  • Iconify

Backend

  • Node.js
  • Express
  • SQLite3
  • Bcrypt
  • Multer
  • Express Session
  • Helmet

Разработка

Сборка production версии

npm run build

Собранные файлы будут в папке dist/.

Проверка типов

npm run lint

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

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 символа)
  • В продакшене ОБЯЗАТЕЛЬНО используйте надежный случайный ключ
  • Не используйте дефолтный ключ в продакшене!

AI настройки

Настройки AI выполняются через интерфейс приложения в разделе "Настройки".

Требуется:

  • OpenAI API Key (или ключ совместимого API)
  • Base URL (например, https://api.openai.com/v1/)
  • Модель (например, gpt-3.5-turbo)

Порты

  • Frontend (dev): http://localhost:5173
  • Backend: http://localhost:3001
  • Старое приложение: http://localhost:3000 (если запущено)

Лицензия

ISC

Автор

NoteJS Team