Skip to content

Luk4shenko/vidachapp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Описание

Этот репозиторий содержит веб-приложение для управления выдачей и возвратом оборудования с использованием базы данных 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". Убедитесь, что новый пароль соответствует требованиям безопасности.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published