NoteJS/README.md

139 lines
4.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# NoteJS - Приложение для быстрых заметок
Простое веб-приложение для создания и управления заметками с поддержкой Markdown форматирования.
## Особенности
- 🚀 Создано на Node.js + Express
- 🔐 Аутентификация по паролю (без логина)
- 💾 Хранение данных в SQLite базе данных
- 📝 Поддержка Markdown форматирования
- 🎨 Простой и интуитивный интерфейс
- 📱 Адаптивный дизайн
## Установка и запуск
### Предварительные требования
- Node.js (версия 14 или выше)
- npm
### Установка
1. Клонируйте репозиторий:
```bash
git clone <repository-url>
cd NoteJS
```
2. Установите зависимости:
```bash
npm install
```
3. Настройте аутентификацию:
- Откройте файл `.env`
- Установите пароль для входа в переменной `APP_PASSWORD`
- Установите секрет сессии в переменной `SESSION_SECRET`
- Установите порт в переменной `PORT` (по умолчанию 3000)
Пример файла `.env`:
```env
APP_PASSWORD=your_secure_password_here
SESSION_SECRET=your_session_secret_here
PORT=3000
```
4. Запустите сервер:
```bash
npm start
```
5. Откройте браузер и перейдите по адресу `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)
- Сессионная аутентификация
- Защищенные заголовки
## Разработка
Для разработки используйте:
```bash
npm run dev
```
Этот скрипт использует **nodemon** для автоматической перезагрузки сервера при изменении файлов. Больше не нужно вручную перезапускать сервер при каждом изменении кода!
## Лицензия
Этот проект создан Fovway.