4.8 KiB
4.8 KiB
NoteJS - Приложение для быстрых заметок
Простое веб-приложение для создания и управления заметками с поддержкой Markdown форматирования.
Особенности
- 🚀 Создано на Node.js + Express
- 🔐 Аутентификация по паролю (без логина)
- 💾 Хранение данных в SQLite базе данных
- 📝 Поддержка Markdown форматирования
- 🎨 Простой и интуитивный интерфейс
- 📱 Адаптивный дизайн
Установка и запуск
Предварительные требования
- Node.js (версия 14 или выше)
- npm
Установка
- Клонируйте репозиторий:
git clone <repository-url>
cd NoteJS
- Установите зависимости:
npm install
- Настройте аутентификацию:
- Откройте файл
.env - Установите пароль для входа в переменной
APP_PASSWORD - Установите секрет сессии в переменной
SESSION_SECRET - Установите порт в переменной
PORT(по умолчанию 3000)
- Откройте файл
Пример файла .env:
APP_PASSWORD=your_secure_password_here
SESSION_SECRET=your_session_secret_here
PORT=3000
- Запустите сервер:
npm start
- Откройте браузер и перейдите по адресу
http://localhost:3000
Использование
Вход в систему
- При первом запуске введите пароль, указанный в файле
.env - После успешного входа вы попадете в интерфейс заметок
Создание заметок
- Введите текст заметки в поле ввода
- Используйте кнопки форматирования для добавления Markdown элементов:
- B - жирный текст
- I - курсив
- H - заголовок
- 📋 - элемент списка
- " - цитата
</>- код- 🔗 - ссылка
- Нажмите кнопку "Сохранить"
Редактирование заметок
- Нажмите кнопку "Редактировать" рядом с заметкой
- Отредактируйте текст в появившемся поле ввода
- Нажмите кнопку "Сохранить"
Удаление заметок
- Нажмите кнопку "Удалить" рядом с заметкой
- Подтвердите удаление в появившемся диалоговом окне
Структура проекта
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.