5.1 KiB
5.1 KiB
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