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.
Description
Languages
JavaScript
72.5%
CSS
15.2%
HTML
12.3%