Add files via upload

v0.1(front)
This commit is contained in:
cyrteL
2025-07-28 14:15:31 +03:00
committed by GitHub
commit 0308719223
7 changed files with 2312 additions and 0 deletions

327
README.md Normal file
View File

@ -0,0 +1,327 @@
# Система управления складом "Склад-Менеджер"
Современная веб-система для управления товарными запасами и операциями склада с разными уровнями доступа.
## 🚀 Возможности системы
### Основной функционал
- **Управление товарами**: добавление, редактирование, удаление товаров
- **Операции склада**: приход и расход товаров
- **Каталог товаров**: удобный просмотр с фильтрами и поиском
- **История операций**: полный учет всех операций со складом
- **Поиск**: быстрый поиск товаров и операций
- **Отчеты**: генерация различных отчетов
- **Экспорт данных**: выгрузка в CSV и JSON форматах
### Система безопасности
- **Многоуровневая авторизация** с разными ролями
- **Контроль доступа** к функциям системы
- **Безопасные сессии** пользователей
- **Валидация данных** на всех уровнях
### Уровни доступа
#### 🔧 Администратор (admin/admin123)
- Полный доступ ко всем функциям
- Управление пользователями
- Настройка системы
- Просмотр всех отчетов
#### 👔 Менеджер (manager/manager123)
- Чтение и запись данных
- Управление товарами
- Оформление операций
- Просмотр отчетов
#### 👷 Оператор (operator/operator123)
- Только чтение данных
- Просмотр каталога и истории
- Ограниченный доступ к функциям
#### 👁️ Наблюдатель (viewer/viewer123)
- Ограниченный просмотр
- Только чтение данных
- Минимальный доступ
## 📁 Структура проекта
```
warehouse-system/
├── index.html # Главная страница
├── login.html # Страница авторизации
├── catalog.html # Каталог товаров
├── history.html # История операций
├── search.html # Поиск
├── profile.html # Профиль пользователя
├── css/
│ └── style.css # Основные стили
├── js/
│ ├── auth.js # Система авторизации
│ ├── main.js # Основная логика
│ ├── warehouse.js # Управление складом
│ ├── catalog.js # Каталог товаров
│ ├── history.js # История операций
│ ├── search.js # Поиск
│ └── profile.js # Профиль пользователя
└── README.md # Документация
```
## 🛠️ Технологии
- **HTML5** - семантическая разметка
- **CSS3** - современные стили с CSS переменными
- **Bootstrap 5** - адаптивный дизайн
- **JavaScript (ES6+)** - интерактивность
- **jQuery** - упрощение работы с DOM
- **Font Awesome** - иконки
- **LocalStorage** - локальное хранение данных
## 🚀 Быстрый старт
### 1. Установка
1. Скачайте или клонируйте проект
2. Откройте `index.html` в браузере
3. Или запустите локальный сервер:
```bash
# Python 3
python -m http.server 8000
# Node.js
npx http-server
# PHP
php -S localhost:8000
```
### 2. Первый вход
1. Откройте `login.html`
2. Используйте тестовые учетные записи:
- **Администратор**: `admin` / `admin123`
- **Менеджер**: `manager` / `manager123`
- **Оператор**: `operator` / `operator123`
- **Наблюдатель**: `viewer` / `viewer123`
### 3. Начальная настройка
1. Войдите как администратор
2. Добавьте первые товары через главную страницу
3. Настройте категории товаров
4. Создайте пользователей с нужными правами
## 📖 Руководство пользователя
### Главная страница
- **Быстрые действия**: добавление товаров, приход/расход
- **Статистика**: общая информация о складе
- **Последние операции**: мониторинг активности
### Каталог товаров
- **Просмотр**: все товары с фильтрами
- **Поиск**: по названию, описанию, штрих-коду
- **Фильтры**: по категории, цене, наличию
- **Редактирование**: изменение информации о товарах
### История операций
- **Просмотр**: все операции с детализацией
- **Фильтры**: по типу, дате, товару, сотруднику
- **Отчеты**: генерация различных отчетов
- **Экспорт**: выгрузка данных
### Поиск
- **Универсальный поиск**: товары и операции
- **Расширенные фильтры**: точная настройка
- **Результаты**: с подсветкой найденного
- **Экспорт результатов**: сохранение найденного
### Профиль пользователя
- **Информация**: личные данные и права
- **Статистика**: активность пользователя
- **Настройки**: персонализация интерфейса
- **Безопасность**: смена пароля
## 🔧 Администрирование
### Управление пользователями
1. Войдите как администратор
2. Перейдите в раздел "Администрирование"
3. Выберите "Управление пользователями"
4. Создавайте, редактируйте, удаляйте пользователей
### Настройка категорий
1. Откройте "Категории товаров"
2. Добавьте нужные категории
3. Настройте иконки и описания
### Генерация отчетов
1. Выберите тип отчета
2. Укажите период
3. Настройте параметры
4. Экспортируйте в нужном формате
## 📊 Структура данных
### Товар
```javascript
{
id: 1,
name: "Название товара",
category: "electronics",
price: 1000,
quantity: 50,
description: "Описание товара",
barcode: "1234567890123",
minQuantity: 10,
location: "Стеллаж A-1",
supplier: "Поставщик",
createdAt: "2024-01-15T10:00:00Z",
updatedAt: "2024-01-15T10:00:00Z"
}
```
### Операция
```javascript
{
id: 1,
type: "incoming", // или "outgoing"
itemId: 1,
itemName: "Название товара",
quantity: 10,
employeeId: 1,
employeeName: "Имя сотрудника",
date: "2024-01-15T10:00:00Z",
status: "completed",
supplier: "Поставщик",
recipient: "Получатель",
notes: "Примечания"
}
```
### Пользователь
```javascript
{
id: 1,
username: "admin",
name: "Администратор",
email: "admin@company.com",
roles: ["admin"],
permissions: ["read", "write", "delete", "admin"],
department: "IT",
position: "Системный администратор"
}
```
## 🎨 Кастомизация
### Изменение цветовой схемы
Отредактируйте CSS переменные в `css/style.css`:
```css
:root {
--primary-color: #0d6efd;
--secondary-color: #6c757d;
--success-color: #198754;
--warning-color: #ffc107;
--danger-color: #dc3545;
--info-color: #0dcaf0;
}
```
### Добавление новых категорий
В файле `js/warehouse.js` найдите функцию `loadCategories()` и добавьте новые категории:
```javascript
{
id: 'new-category',
name: 'Новая категория',
icon: 'fas fa-icon-name'
}
```
### Настройка прав доступа
В файле `js/auth.js` измените массив пользователей или добавьте новые роли и разрешения.
## 🔒 Безопасность
### Рекомендации по безопасности
1. **Измените пароли по умолчанию** при первом входе
2. **Используйте HTTPS** в продакшене
3. **Регулярно обновляйте** права доступа
4. **Ведите логи** всех операций
5. **Делайте резервные копии** данных
### Настройка HTTPS
Для продакшена обязательно используйте SSL-сертификат:
```bash
# Пример с Let's Encrypt
sudo certbot --nginx -d your-domain.com
```
## 📈 Производительность
### Оптимизация
- Используйте современный браузер
- Включите кэширование
- Минимизируйте количество одновременных операций
- Регулярно очищайте старые данные
### Масштабирование
- Для больших объемов данных используйте базу данных
- Добавьте серверную часть (PHP, Node.js, Python)
- Используйте CDN для статических файлов
- Настройте кэширование на сервере
## 🐛 Устранение неполадок
### Частые проблемы
#### Не работает авторизация
- Проверьте правильность логина/пароля
- Очистите кэш браузера
- Проверьте консоль на ошибки JavaScript
#### Не сохраняются данные
- Проверьте доступ к LocalStorage
- Убедитесь, что JavaScript включен
- Проверьте права доступа пользователя
#### Медленная работа
- Закройте лишние вкладки
- Очистите кэш браузера
- Проверьте количество товаров/операций
### Логи и отладка
Откройте консоль разработчика (F12) для просмотра ошибок и логов.
## 🤝 Поддержка
### Сообщение об ошибках
При обнаружении ошибок:
1. Опишите проблему подробно
2. Укажите версию браузера
3. Приложите скриншот ошибки
4. Опишите шаги для воспроизведения
### Запросы функций
Для добавления новых функций:
1. Опишите требуемую функциональность
2. Укажите приоритет
3. Приведите примеры использования
## 📄 Лицензия
Этот проект распространяется под лицензией MIT. См. файл LICENSE для подробностей.
## 👥 Авторы
- Разработка: [Ваше имя]
- Дизайн: [Имя дизайнера]
- Тестирование: [Имя тестировщика]
## 📞 Контакты
- Email: support@warehouse-system.com
- Телефон: +7 (XXX) XXX-XX-XX
- Веб-сайт: https://warehouse-system.com
---
**Версия**: 1.0.0
**Дата**: Январь 2024
**Последнее обновление**: 15.01.2024