4a6868ced61ac66f5130d704f32887d4fe141dd3
Система управления складом "Склад-Менеджер"
Современная веб-система для управления складом деталей и операциями с разными уровнями доступа.
🚀 Возможности системы
Основной функционал
- Управление позициями: добавление, редактирование, удаление позиций
- Операции склада: приход и расход позиций
- Каталог позиций: удобный просмотр с фильтрами и поиском
- История операций: полный учет всех операций со складом
- Поиск: быстрый поиск позиций и операций
- Отчеты: генерация различных отчетов
- Экспорт данных: выгрузка в CSV и JSON форматах
Система безопасности
- Многоуровневая авторизация с разными ролями
- Контроль доступа к функциям системы
- Безопасные сессии пользователей
- Валидация данных на всех уровнях
- Проверка прав доступа для каждой операции
- Безопасная обработка ошибок с информативными уведомлениями
- URL валидация параметров и фильтров
Уровни доступа
🔧 Администратор (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 # Профиль пользователя
│ └── categories.js # Управление категориями
└── README.md # Документация
🛠️ Технологии
- HTML5 - семантическая разметка
- CSS3 - современные стили с CSS переменными
- Bootstrap 5 - адаптивный дизайн
- JavaScript (ES6+) - интерактивность
- jQuery - упрощение работы с DOM
- Font Awesome - иконки
- LocalStorage - локальное хранение данных
🚀 Быстрый старт
1. Установка
- Скачайте или клонируйте проект
- Откройте
index.htmlв браузере - Или запустите локальный сервер:
# Python 3 python -m http.server 8000 # Node.js npx http-server # PHP php -S localhost:8000
2. Первый вход
- Откройте
login.html - Используйте тестовые учетные записи:
- Администратор:
admin/admin123 - Менеджер:
manager/manager123 - Оператор:
operator/operator123 - Наблюдатель:
viewer/viewer123
- Администратор:
3. Начальная настройка
- Войдите как администратор
- Добавьте первые товары через главную страницу
- Настройте категории товаров
- Создайте пользователей с нужными правами
📖 Руководство пользователя
Главная страница
- Быстрые действия: добавление товаров, приход/расход
- Статистика: общая информация о складе
- Последние операции: мониторинг активности
- Быстрая навигация: выпадающее меню категорий
Навигация по категориям
- Выпадающее меню: появляется при наведении на "Каталог"
- Быстрый переход: клик по категории открывает отфильтрованный каталог
- URL фильтрация: прямые ссылки вида
catalog.html?category=electronics - Визуальная обратная связь: иконки и цвета категорий
- Единообразие: одинаковое меню на всех страницах
Каталог позиций
- Просмотр: все позиции с фильтрами и статистикой
- Поиск: по названию, описанию, штрих-коду
- Фильтры: по категории, цене, наличию, статусу запасов
- Редактирование: изменение информации о позициях (только для админов и менеджеров)
- Экспорт: выгрузка каталога в CSV формате
- Безопасность: проверка прав доступа для всех операций
- Быстрая навигация: выпадающее меню категорий при наведении
- URL фильтрация: прямая ссылка на отфильтрованный каталог
История операций
- Просмотр: все операции с детализацией
- Фильтры: по типу, дате, товару, сотруднику
- Отчеты: генерация различных отчетов
- Экспорт: выгрузка данных
Поиск
- Универсальный поиск: позиции и операции
- Расширенные фильтры: точная настройка
- Результаты: с подсветкой найденного
- Экспорт результатов: сохранение найденного
- Быстрая навигация: переход к категориям из результатов поиска
Профиль пользователя
- Информация: личные данные и права
- Статистика: активность пользователя
- Настройки: персонализация интерфейса
- Безопасность: смена пароля
🔧 Администрирование
Управление пользователями
- Войдите как администратор
- Перейдите в раздел "Администрирование"
- Выберите "Управление пользователями"
- Создавайте, редактируйте, удаляйте пользователей
Настройка категорий
- Откройте "Категории позиций"
- Добавьте нужные категории
- Настройте иконки и описания
- Категории автоматически появятся в выпадающем меню
- Изменения применяются мгновенно на всех страницах
Генерация отчетов
- Выберите тип отчета
- Укажите период
- Настройте параметры
- Экспортируйте в нужном формате
📊 Структура данных
Позиция
{
id: 1,
name: "Название товара",
category: "electronics",
price: 1000,
quantity: 50,
description: "Описание товара",
barcode: "1234567890123",
minQuantity: 10,
location: "Стеллаж A-1",
supplier: "Поставщик",
createdAt: "2025-01-15T10:00:00Z",
updatedAt: "2025-01-15T10:00:00Z"
}
Операция
{
id: 1,
type: "incoming", // или "outgoing"
itemId: 1,
itemName: "Название товара",
quantity: 10,
employeeId: 1,
employeeName: "Имя сотрудника",
date: "2025-01-15T10:00:00Z",
status: "completed",
supplier: "Поставщик",
recipient: "Получатель",
notes: "Примечания"
}
Пользователь
{
id: 1,
username: "admin",
name: "Администратор",
email: "admin@company.com",
roles: ["admin"],
permissions: ["read", "write", "delete", "admin"],
department: "IT",
position: "Системный администратор"
}
Категория
{
id: "electronics",
name: "Электроника",
description: "Электронные компоненты и устройства",
icon: "fas fa-microchip",
color: "#2c5aa0",
active: true,
itemCount: 25,
createdAt: "2025-01-15T10:00:00Z",
updatedAt: "2025-01-15T10:00:00Z"
}
🎨 Кастомизация
Изменение цветовой схемы
Отредактируйте CSS переменные в css/style.css:
:root {
--primary-color: #0d6efd;
--secondary-color: #6c757d;
--success-color: #198754;
--warning-color: #ffc107;
--danger-color: #dc3545;
--info-color: #0dcaf0;
}
Добавление новых категорий
В файле js/warehouse.js найдите функцию loadCategories() и добавьте новые категории:
{
id: 'new-category',
name: 'Новая категория',
icon: 'fas fa-icon-name',
color: '#2c5aa0',
description: 'Описание категории',
active: true
}
Настройка выпадающего меню
Категории автоматически появляются в выпадающем меню навигации. Для настройки стилей отредактируйте CSS в css/style.css:
#catalogCategoriesDropdown {
min-width: 250px;
max-height: 400px;
overflow-y: auto;
}
Настройка прав доступа
В файле js/auth.js измените массив пользователей или добавьте новые роли и разрешения.
🔒 Безопасность
Рекомендации по безопасности
- Измените пароли по умолчанию при первом входе
- Используйте HTTPS в продакшене
- Регулярно обновляйте права доступа
- Ведите логи всех операций
- Делайте резервные копии данных
Настройка HTTPS
Для продакшена обязательно используйте SSL-сертификат:
# Пример с Let's Encrypt
sudo certbot --nginx -d your-domain.com
📈 Производительность
Оптимизация
- Используйте современный браузер
- Включите кэширование
- Минимизируйте количество одновременных операций
- Регулярно очищайте старые данные
Масштабирование
- Для больших объемов данных используйте базу данных
- Добавьте серверную часть (PHP, Node.js, Python)
- Используйте CDN для статических файлов
- Настройте кэширование на сервере
- Оптимизируйте загрузку категорий для больших каталогов
Технические улучшения
- Безопасная обработка данных: проверка на null/undefined
- Валидация форм: клиентская проверка ввода
- Обработка ошибок: информативные уведомления
- Права доступа: детальная проверка ролей
- Оптимизация производительности: эффективная фильтрация
- URL маршрутизация: обработка параметров и фильтров
- Асинхронная загрузка: динамическое обновление меню
- Кэширование данных: оптимизация производительности
🔄 Последние обновления
Версия 1.2.0 (Январь 2025)
- ✅ Добавлено выпадающее меню категорий: быстрая навигация по категориям
- ✅ Реализована URL фильтрация: прямые ссылки на отфильтрованный каталог
- ✅ Улучшена навигация: единообразное меню на всех страницах
- ✅ Добавлены анимации: плавные эффекты появления меню
- ✅ Улучшен UX: hover эффекты и визуальная обратная связь
- ✅ Расширена функциональность: переходы между категориями из любого места
Версия 1.1.0 (Январь 2025)
- ✅ Улучшена безопасность каталога: добавлена проверка прав доступа
- ✅ Исправлена навигация: добавлена ссылка "Поиск" в главное меню
- ✅ Улучшена обработка ошибок: безопасная работа с пустыми данными
- ✅ Добавлена валидация: проверка на null/undefined значения
- ✅ Улучшена статистика: безопасный подсчет с fallback значениями
- ✅ Исправлены отступы: консистентная структура кода
- ✅ Добавлены уведомления: информативные сообщения об ошибках
🐛 Устранение неполадок
Частые проблемы
Не работает авторизация
- Проверьте правильность логина/пароля
- Очистите кэш браузера
- Проверьте консоль на ошибки JavaScript
- Убедитесь, что JavaScript включен в браузере
Не сохраняются данные
- Проверьте доступ к LocalStorage
- Убедитесь, что JavaScript включен
- Проверьте права доступа пользователя
Медленная работа
- Закройте лишние вкладки
- Очистите кэш браузера
- Проверьте количество товаров/операций
Проблемы с каталогом
- Проверьте права доступа пользователя
- Убедитесь, что категории загружены корректно
- Проверьте консоль на ошибки загрузки данных
- Очистите фильтры, если каталог пустой
- Проверьте URL параметры для фильтрации по категориям
- Убедитесь, что выпадающее меню категорий загружается
Логи и отладка
Откройте консоль разработчика (F12) для просмотра ошибок и логов.
🤝 Поддержка
Сообщение об ошибках
При обнаружении ошибок:
- Опишите проблему подробно
- Укажите версию браузера
- Приложите скриншот ошибки
- Опишите шаги для воспроизведения
Запросы функций
Для добавления новых функций:
- Опишите требуемую функциональность
- Укажите приоритет
- Приведите примеры использования
📄 Лицензия
Этот проект распространяется под лицензией MIT. См. файл LICENSE для подробностей.
👥 Авторы
- Разработка: [Ваше имя]
- Дизайн: [Имя дизайнера]
- Тестирование: [Имя тестировщика]
📞 Контакты
- Email: support@warehouse-system.com
- Телефон: +7 (XXX) XXX-XX-XX
- Веб-сайт: https://warehouse-system.com
Версия: 1.2.0
Дата: Январь 2025
Последнее обновление: 15.01.2025
Description
Languages
JavaScript
60.4%
HTML
36.7%
CSS
2.9%