Skip to content

Latest commit

 

History

History
136 lines (107 loc) · 8.17 KB

README.md

File metadata and controls

136 lines (107 loc) · 8.17 KB

Система Управления Оборудованием

Описание

Этот репозиторий содержит веб-приложение для управления выдачей и возвратом оборудования с использованием базы данных SQLite. Система предоставляет функционал для управления оборудованием, администрирования пользователей и админов, а также функции поиска данных.

Основные функции

  • Отслеживание выдачи и возврата оборудования
  • Автоматическая генерация уникальных номеров выдачи
  • Удобный интерфейс для возврата оборудования
  • Админ-панель для комплексного управления
  • Поиск по всем записям
  • Экспорт данных по оборудованию в Excel
  • Управление пользователями и администраторами
  • Управление типами оборудования

Используемые технологии

  • Backend: Node.js с использованием Express.js
  • Frontend: HTML, CSS, JavaScript
  • База данных: SQLite
  • Шаблонизатор: EJS (Embedded JavaScript templating)
  • Аутентификация: Express-session для управления сессиями
  • Хеширование паролей: bcrypt
  • Экспорт в Excel: ExcelJS

Структура проекта

  • /views: содержит EJS-шаблоны для отображения страниц
  • /public: хранит статические файлы (CSS, клиентский JavaScript)
  • /db: содержит файл базы данных SQLite
  • app.js: основной серверный файл с конфигурацией Express и маршрутами
  • package.json: зависимости Node.js и команды для запуска

Установка и настройка

  1. Клонируйте репозиторий:
    git clone [URL репозитория]
    cd [имя репозитория]
    
  2. Установите зависимости:
    npm install
    
  3. Запустите сервер:
    node app.js
    
  4. Доступ к приложению по адресу http://localhost:4000

Основные страницы и функциональность

Главная страница

  • Опции для выдачи оборудования и доступа к админ-панели

Страница выдачи оборудования

  • Форма для записи данных о выдаче оборудования
  • Автоматическая генерация номеров выдачи

Страница возврата оборудования

  • Удобный интерфейс для сотрудников для отметки возврата оборудования
  • Отображение активных выдач для выбранного пользователя

Админ-панель

  • Полный обзор всех выдач оборудования
  • Поиск по всем полям
  • Подтверждение возврата оборудования
  • Экспорт данных в Excel
  • Доступ к управлению пользователями и типами оборудования

Управление типами оборудования

  • Добавление, редактирование или удаление типов оборудования

Управление пользователями

  • Добавление новых администраторов
  • Изменение паролей администраторов

Бизнес-логика

Выдача оборудования

  • Автоматическое присвоение номеров выдачи в формате ИТ[YY]-[NNNN]
  • Запись данных о выдаче в базу данных

Возврат оборудования

  • Двухэтапный процесс возврата: пользователь отмечает возврат, администратор подтверждает
  • Запись временной метки для действий по возврату

Администраторские функции

  • Просмотр и поиск всех записей по оборудованию
  • Подтверждение возврата оборудования
  • Управление типами оборудования
  • Управление администраторами

Безопасность

  • Хеширование паролей с использованием bcrypt
  • Аутентификация на основе сессий для доступа к админ-панели

Возможные улучшения

  • Реализация более продвинутых методов поиска для больших наборов данных
  • Добавление пагинации для записей по оборудованию
  • Реализация пользовательских ролей с разными уровнями доступа
  • Добавление уведомлений по электронной почте для просроченного оборудования

Участие в проекте

Внесение улучшений в систему приветствуется. Пожалуйста, следуйте этим шагам:

  1. Форкните репозиторий
  2. Создайте новую ветку (git checkout -b feature-branch)
  3. Внесите свои изменения и зафиксируйте их (git commit -am 'Add some feature')
  4. Отправьте изменения в свою ветку (git push origin feature-branch)
  5. Создайте новый Pull Request

Управление администраторами

Удаление администратора

Для удаления администратора выполните следующие шаги:

  1. Доступ к админ-панели: Войдите под пользователем с ролью "god".

  2. Навигация к удалению администратора:

    • Перейдите по URL /confirm-delete/:username, заменив :username на имя пользователя администратора, которого хотите удалить.
    • На странице появится запрос на подтверждение.
  3. Подтверждение удаления:

    • Подтвердите удаление, чтобы навсегда удалить администратора из базы данных.

    Примечание: Только пользователи с ролью "god" могут удалять других администраторов. Это действие необратимо, поэтому действуйте осторожно.

Обновление пароля администратора

Для обновления пароля администратора выполните следующие шаги:

  1. Доступ к форме сброса пароля:

    • Войдите под пользователем с ролью "god".
    • Перейдите по URL /reset-password.
  2. Отправка нового пароля:

    • Заполните форму, указав имя пользователя администратора, для которого вы хотите обновить пароль, и новый пароль.
    • Отправьте форму, и пароль будет безопасно хеширован и обновлен в базе данных.

    Примечание: Это действие требует прав "god". Убедитесь, что новый пароль соответствует требованиям безопасности.