NoteJS/README.md

4.8 KiB
Raw Blame History

NoteJS - Приложение для быстрых заметок

Простое веб-приложение для создания и управления заметками с поддержкой Markdown форматирования.

Особенности

  • 🚀 Создано на Node.js + Express
  • 🔐 Аутентификация по паролю (без логина)
  • 💾 Хранение данных в SQLite базе данных
  • 📝 Поддержка Markdown форматирования
  • 🎨 Простой и интуитивный интерфейс
  • 📱 Адаптивный дизайн

Установка и запуск

Предварительные требования

  • Node.js (версия 14 или выше)
  • npm

Установка

  1. Клонируйте репозиторий:
git clone <repository-url>
cd NoteJS
  1. Установите зависимости:
npm install
  1. Настройте аутентификацию:
    • Откройте файл .env
    • Установите пароль для входа в переменной APP_PASSWORD
    • Установите секрет сессии в переменной SESSION_SECRET
    • Установите порт в переменной PORT (по умолчанию 3000)

Пример файла .env:

APP_PASSWORD=your_secure_password_here
SESSION_SECRET=your_session_secret_here
PORT=3000
  1. Запустите сервер:
npm start
  1. Откройте браузер и перейдите по адресу http://localhost:3000

Использование

Вход в систему

  1. При первом запуске введите пароль, указанный в файле .env
  2. После успешного входа вы попадете в интерфейс заметок

Создание заметок

  1. Введите текст заметки в поле ввода
  2. Используйте кнопки форматирования для добавления Markdown элементов:
    • B - жирный текст
    • I - курсив
    • H - заголовок
    • 📋 - элемент списка
    • " - цитата
    • </> - код
    • 🔗 - ссылка
  3. Нажмите кнопку "Сохранить"

Редактирование заметок

  1. Нажмите кнопку "Редактировать" рядом с заметкой
  2. Отредактируйте текст в появившемся поле ввода
  3. Нажмите кнопку "Сохранить"

Удаление заметок

  1. Нажмите кнопку "Удалить" рядом с заметкой
  2. Подтвердите удаление в появившемся диалоговом окне

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

NoteJS/
├── public/              # Статические файлы (клиентская часть)
│   ├── index.html      # Страница входа
│   ├── notes.html      # Страница заметок
│   ├── style.css       # Стили
│   └── app.js          # Клиентский JavaScript
├── server.js           # Express сервер
├── .env                # Конфигурация (не включать в git!)
├── package.json        # Зависимости проекта
├── notes.db            # SQLite база данных (создается автоматически)
└── README.md           # Документация

API Endpoints

Аутентификация

  • POST /login - вход в систему
  • POST /logout - выход из системы

Заметки (требуют аутентификации)

  • GET /api/notes - получить все заметки
  • POST /api/notes - создать новую заметку
  • PUT /api/notes/:id - обновить заметку
  • DELETE /api/notes/:id - удалить заметку

Безопасность

  • Helmet для защиты от распространенных уязвимостей
  • Ограничение запросов (rate limiting)
  • Сессионная аутентификация
  • Защищенные заголовки

Разработка

Для разработки используйте:

npm run dev

Этот скрипт использует nodemon для автоматической перезагрузки сервера при изменении файлов. Больше не нужно вручную перезапускать сервер при каждом изменении кода!

Лицензия

Этот проект создан Fovway.