a010ded959b43311c9a396cd3678403784b88413
Система управления складом "Склад-Менеджер"
Современная веб-система для управления товарными запасами и операциями склада с разными уровнями доступа.
🚀 Возможности системы
Основной функционал
- Управление товарами: добавление, редактирование, удаление товаров
- Операции склада: приход и расход товаров
- Каталог товаров: удобный просмотр с фильтрами и поиском
- История операций: полный учет всех операций со складом
- Поиск: быстрый поиск товаров и операций
- Отчеты: генерация различных отчетов
- Экспорт данных: выгрузка в 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. Первый вход
- Откройте
login.html - Используйте тестовые учетные записи:
- Администратор:
admin/admin123 - Менеджер:
manager/manager123 - Оператор:
operator/operator123 - Наблюдатель:
viewer/viewer123
- Администратор:
2. Начальная настройка
- Войдите как администратор
- Добавьте первые товары через главную страницу
- Настройте категории товаров
- Создайте пользователей с нужными правами
📖 Руководство пользователя
Главная страница
- Быстрые действия: добавление товаров, приход/расход
- Статистика: общая информация о складе
- Последние операции: мониторинг активности
Каталог товаров
- Просмотр: все товары с фильтрами
- Поиск: по названию, описанию, штрих-коду
- Фильтры: по категории, цене, наличию
- Редактирование: изменение информации о товарах
История операций
- Просмотр: все операции с детализацией
- Фильтры: по типу, дате, товару, сотруднику
- Отчеты: генерация различных отчетов
- Экспорт: выгрузка данных
Поиск
- Универсальный поиск: товары и операции
- Расширенные фильтры: точная настройка
- Результаты: с подсветкой найденного
- Экспорт результатов: сохранение найденного
Профиль пользователя
- Информация: личные данные и права
- Статистика: активность пользователя
- Настройки: персонализация интерфейса
- Безопасность: смена пароля
🔧 Администрирование
Управление пользователями
- Войдите как администратор
- Перейдите в раздел "Администрирование"
- Выберите "Управление пользователями"
- Создавайте, редактируйте, удаляйте пользователей
Настройка категорий
- Откройте "Категории товаров"
- Добавьте нужные категории
- Настройте иконки и описания
Генерация отчетов
- Выберите тип отчета
- Укажите период
- Настройте параметры
- Экспортируйте в нужном формате
📊 Структура данных
Товар
{
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"
}
Операция
{
id: 1,
type: "incoming", // или "outgoing"
itemId: 1,
itemName: "Название товара",
quantity: 10,
employeeId: 1,
employeeName: "Имя сотрудника",
date: "2024-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: "Системный администратор"
}
🎨 Кастомизация
Изменение цветовой схемы
Отредактируйте 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'
}
Настройка прав доступа
В файле js/auth.js измените массив пользователей или добавьте новые роли и разрешения.
🔒 Безопасность
Рекомендации по безопасности
- Измените пароли по умолчанию при первом входе
- Используйте HTTPS в продакшене
- Регулярно обновляйте права доступа
- Ведите логи всех операций
- Делайте резервные копии данных
Настройка HTTPS
Для продакшена обязательно используйте SSL-сертификат:
# Пример с Let's Encrypt
sudo certbot --nginx -d your-domain.com
🐛 Устранение неполадок
Частые проблемы
Не работает авторизация
- Проверьте правильность логина/пароля
- Очистите кэш браузера
- Проверьте консоль на ошибки JavaScript
Не сохраняются данные
- Проверьте доступ к LocalStorage
- Убедитесь, что JavaScript включен
- Проверьте права доступа пользователя
Медленная работа
- Закройте лишние вкладки
- Очистите кэш браузера
- Проверьте количество товаров/операций
Логи и отладка
Откройте консоль разработчика (F12) для просмотра ошибок и логов.
🤝 Поддержка
Сообщение об ошибках
При обнаружении ошибок:
- Опишите проблему подробно
- Укажите версию браузера
- Приложите скриншот ошибки
- Опишите шаги для воспроизведения
Запросы функций
Для добавления новых функций:
- Опишите требуемую функциональность
- Укажите приоритет
- Приведите примеры использования
📄 Лицензия
Этот проект распространяется под лицензией MIT. См. файл LICENSE для подробностей.
👥 Авторы
- Разработка: Roman Pylaev
- Дизайн: Roman Pylaev
- Тестирование: Roman Pylaev
📞 Контакты
- Email: r0manpylaev@yandex.ru
- Телефон: +7 (977) 665-45-78
- Telegram: @dark7es
- Discord: @dark7es
Description
Languages
JavaScript
60.4%
HTML
36.7%
CSS
2.9%