Add files via upload

v0.0.3
This commit is contained in:
cyrteL
2025-07-28 17:31:27 +03:00
committed by GitHub
parent 119a74ad98
commit 4a6868ced6
17 changed files with 2395 additions and 292 deletions

182
README.md
View File

@ -1,18 +1,27 @@
# Система управления складом "Склад-Менеджер"
Современная веб-система для управления товарными запасами и операциями склада с разными уровнями доступа.
Современная веб-система для управления складом деталей и операциями с разными уровнями доступа.
## 🚀 Возможности системы
### Основной функционал
- **Управление товарами**: добавление, редактирование, удаление товаров
- **Операции склада**: приход и расход товаров
- **Каталог товаров**: удобный просмотр с фильтрами и поиском
- **Управление позициями**: добавление, редактирование, удаление позиций
- **Операции склада**: приход и расход позиций
- **Каталог позиций**: удобный просмотр с фильтрами и поиском
- **История операций**: полный учет всех операций со складом
- **Поиск**: быстрый поиск товаров и операций
- **Поиск**: быстрый поиск позиций и операций
- **Отчеты**: генерация различных отчетов
- **Экспорт данных**: выгрузка в CSV и JSON форматах
### Система безопасности
- **Многоуровневая авторизация** с разными ролями
- **Контроль доступа** к функциям системы
- **Безопасные сессии** пользователей
- **Валидация данных** на всех уровнях
- **Проверка прав доступа** для каждой операции
- **Безопасная обработка ошибок** с информативными уведомлениями
- **URL валидация** параметров и фильтров
### Уровни доступа
#### 🔧 Администратор (admin/admin123)
@ -53,10 +62,11 @@ warehouse-system/
│ ├── auth.js # Система авторизации
│ ├── main.js # Основная логика
│ ├── warehouse.js # Управление складом
│ ├── catalog.js # Каталог товаров
│ ├── catalog.js # Каталог товаров (с проверкой прав доступа)
│ ├── history.js # История операций
│ ├── search.js # Поиск
── profile.js # Профиль пользователя
── profile.js # Профиль пользователя
│ └── categories.js # Управление категориями
└── README.md # Документация
```
@ -72,7 +82,22 @@ warehouse-system/
## 🚀 Быстрый старт
### 1. Первый вход
### 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`
@ -80,7 +105,7 @@ warehouse-system/
- **Оператор**: `operator` / `operator123`
- **Наблюдатель**: `viewer` / `viewer123`
### 2. Начальная настройка
### 3. Начальная настройка
1. Войдите как администратор
2. Добавьте первые товары через главную страницу
3. Настройте категории товаров
@ -92,12 +117,24 @@ warehouse-system/
- **Быстрые действия**: добавление товаров, приход/расход
- **Статистика**: общая информация о складе
- **Последние операции**: мониторинг активности
- **Быстрая навигация**: выпадающее меню категорий
### Каталог товаров
- **Просмотр**: все товары с фильтрами
### Навигация по категориям
- **Выпадающее меню**: появляется при наведении на "Каталог"
- **Быстрый переход**: клик по категории открывает отфильтрованный каталог
- **URL фильтрация**: прямые ссылки вида `catalog.html?category=electronics`
- **Визуальная обратная связь**: иконки и цвета категорий
- **Единообразие**: одинаковое меню на всех страницах
### Каталог позиций
- **Просмотр**: все позиции с фильтрами и статистикой
- **Поиск**: по названию, описанию, штрих-коду
- **Фильтры**: по категории, цене, наличию
- **Редактирование**: изменение информации о товарах
- **Фильтры**: по категории, цене, наличию, статусу запасов
- **Редактирование**: изменение информации о позициях (только для админов и менеджеров)
- **Экспорт**: выгрузка каталога в CSV формате
- **Безопасность**: проверка прав доступа для всех операций
- **Быстрая навигация**: выпадающее меню категорий при наведении
- **URL фильтрация**: прямая ссылка на отфильтрованный каталог
### История операций
- **Просмотр**: все операции с детализацией
@ -106,10 +143,11 @@ warehouse-system/
- **Экспорт**: выгрузка данных
### Поиск
- **Универсальный поиск**: товары и операции
- **Универсальный поиск**: позиции и операции
- **Расширенные фильтры**: точная настройка
- **Результаты**: с подсветкой найденного
- **Экспорт результатов**: сохранение найденного
- **Быстрая навигация**: переход к категориям из результатов поиска
### Профиль пользователя
- **Информация**: личные данные и права
@ -126,9 +164,11 @@ warehouse-system/
4. Создавайте, редактируйте, удаляйте пользователей
### Настройка категорий
1. Откройте "Категории товаров"
1. Откройте "Категории позиций"
2. Добавьте нужные категории
3. Настройте иконки и описания
4. Категории автоматически появятся в выпадающем меню
5. Изменения применяются мгновенно на всех страницах
### Генерация отчетов
1. Выберите тип отчета
@ -138,7 +178,7 @@ warehouse-system/
## 📊 Структура данных
### Товар
### Позиция
```javascript
{
id: 1,
@ -151,8 +191,8 @@ warehouse-system/
minQuantity: 10,
location: "Стеллаж A-1",
supplier: "Поставщик",
createdAt: "2024-01-15T10:00:00Z",
updatedAt: "2024-01-15T10:00:00Z"
createdAt: "2025-01-15T10:00:00Z",
updatedAt: "2025-01-15T10:00:00Z"
}
```
@ -166,7 +206,7 @@ warehouse-system/
quantity: 10,
employeeId: 1,
employeeName: "Имя сотрудника",
date: "2024-01-15T10:00:00Z",
date: "2025-01-15T10:00:00Z",
status: "completed",
supplier: "Поставщик",
recipient: "Получатель",
@ -188,6 +228,21 @@ warehouse-system/
}
```
### Категория
```javascript
{
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"
}
```
## 🎨 Кастомизация
### Изменение цветовой схемы
@ -209,7 +264,20 @@ warehouse-system/
{
id: 'new-category',
name: 'Новая категория',
icon: 'fas fa-icon-name'
icon: 'fas fa-icon-name',
color: '#2c5aa0',
description: 'Описание категории',
active: true
}
```
### Настройка выпадающего меню
Категории автоматически появляются в выпадающем меню навигации. Для настройки стилей отредактируйте CSS в `css/style.css`:
```css
#catalogCategoriesDropdown {
min-width: 250px;
max-height: 400px;
overflow-y: auto;
}
```
@ -232,6 +300,50 @@ warehouse-system/
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 значениями
-**Исправлены отступы**: консистентная структура кода
-**Добавлены уведомления**: информативные сообщения об ошибках
## 🐛 Устранение неполадок
### Частые проблемы
@ -240,6 +352,7 @@ sudo certbot --nginx -d your-domain.com
- Проверьте правильность логина/пароля
- Очистите кэш браузера
- Проверьте консоль на ошибки JavaScript
- Убедитесь, что JavaScript включен в браузере
#### Не сохраняются данные
- Проверьте доступ к LocalStorage
@ -251,6 +364,14 @@ sudo certbot --nginx -d your-domain.com
- Очистите кэш браузера
- Проверьте количество товаров/операций
#### Проблемы с каталогом
- Проверьте права доступа пользователя
- Убедитесь, что категории загружены корректно
- Проверьте консоль на ошибки загрузки данных
- Очистите фильтры, если каталог пустой
- Проверьте URL параметры для фильтрации по категориям
- Убедитесь, что выпадающее меню категорий загружается
### Логи и отладка
Откройте консоль разработчика (F12) для просмотра ошибок и логов.
@ -271,17 +392,22 @@ sudo certbot --nginx -d your-domain.com
## 📄 Лицензия
Этот проект распространяется под лицензией MIT.
Этот проект распространяется под лицензией MIT. См. файл LICENSE для подробностей.
## 👥 Авторы
- Разработка: Roman Pylaev
- Дизайн: Roman Pylaev
- Тестирование: Roman Pylaev
- Разработка: [Ваше имя]
- Дизайн: [Имя дизайнера]
- Тестирование: [Имя тестировщика]
## 📞 Контакты
- Email: r0manpylaev@yandex.ru
- Телефон: +7 (977) 665-45-78
- Telegram: @dark7es
- Discord: @dark7es
- Email: support@warehouse-system.com
- Телефон: +7 (XXX) XXX-XX-XX
- Веб-сайт: https://warehouse-system.com
---
**Версия**: 1.2.0
**Дата**: Январь 2025
**Последнее обновление**: 15.01.2025