# 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