# Система управления складом "Склад-Менеджер" Современная веб-система для управления товарными запасами и операциями склада с разными уровнями доступа. ## 🚀 Возможности системы ### Основной функционал - **Управление товарами**: добавление, редактирование, удаление товаров - **Операции склада**: приход и расход товаров - **Каталог товаров**: удобный просмотр с фильтрами и поиском - **История операций**: полный учет всех операций со складом - **Поиск**: быстрый поиск товаров и операций - **Отчеты**: генерация различных отчетов - **Экспорт данных**: выгрузка в 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