noteJS-react/README_RU.md

199 lines
4.7 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 - Приложение для заметок
Современное 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. Установка зависимостей фронтенда
```bash
npm install
```
### 2. Установка зависимостей бэкенда
```bash
cd backend
npm install
cd ..
```
## Запуск
### Вариант 1: Запуск всего приложения (рекомендуется)
```bash
npm start
```
или
```bash
npm run dev:all
```
Это запустит:
- **Frontend** на `http://localhost:5173`
- **Backend** на `http://localhost:3001`
### Вариант 2: Раздельный запуск
**Frontend:**
```bash
npm run dev
```
**Backend (в отдельном терминале):**
```bash
npm run server
```
или
```bash
cd backend
npm start
```
## Функционал
### ✨ Основные возможности
- 📝 Создание и редактирование заметок с Markdown
- 🖼️ Загрузка изображений к заметкам
- 📎 Прикрепление файлов (PDF, DOC, XLS, ZIP и др.)
- 📌 Закрепление важных заметок
- 📦 Архивация заметок
- 🔍 Поиск по заметкам и тегам
- 📅 Календарь заметок
- 🏷️ Система тегов
- 🌓 Светлая/тёмная тема
- 🎨 Настройка цветовой схемы
- 👤 Профили пользователей с аватарами
### 🤖 AI функционал
- Улучшение текста заметок
- Исправление ошибок
- Генерация контента
- Настройка собственного OpenAI-совместимого API
### 📱 PWA
- Установка как приложение
- Работа офлайн (Service Worker)
- Push-уведомления (опционально)
- Адаптивный дизайн для всех устройств
### Markdown поддержка
- Заголовки (H1-H5)
- **Жирный** и урсив_
- Списки (маркированные и нумерованные)
- ~~Зачеркнутый текст~~
- [Ссылки](https://example.com)
- `Код` и блоки кода
- 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 версии
```bash
npm run build
```
Собранные файлы будут в папке `dist/`.
### Проверка типов
```bash
npm run lint
```
## Конфигурация
### Backend (.env)
Создайте файл `backend/.env`:
```env
PORT=3001
SESSION_SECRET=your-secret-key-here
NODE_ENV=development
```
### 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