/AGOI

WEB-Приложение для инвентаризации имеющегося и поступающего оборудования с использованием QR-меток (Дипломный проект)

Primary LanguageHTML

WEB-Приложение для инвентаризации имеющегося и поступающего оборудования с использованием QR-меток (Дипломный проект)

Django приложение помогает сотрудникам вести историю перемещения имеющегося оборудования, ставить на учет поступающее оборудование с созданием уникальных QR-меток и получать полную информацию оборудовании по QR-метке.

Технологии:

  • FrontEnd:
    • Vue3;
    • PWA;
    • WebSockets.
  • BackEnd:
    • Python 3.10;
    • Django Admin;
    • Django-DRF;
    • Django-WebSockets.

Возможности проекта:

  • Предоставление информации по QR-коду;
  • Установка WEB-приложения на телефон;
  • Проведение инвентаризации:
    • В режиме реального времени с другими сотрудниками;
    • В автономном режиме.
  • Просмотр отчётов;
  • Скачивание отчёта в формате excel файла.

Deploy

Требования к серверу:

  • Docker и Docker Compose;
  • Nginx

Шаги:

  1. Выгрузить проект на сервер
git clone https://github.com/Demetrous-fd/AGOI
  1. Перейти в папку проекта
cd AGOI
  1. Создать и заполнить .env
cp backend/.env.example backend/.env 
cp frontend/.env.example frontend/.env 
  1. Запустить сервисы
docker-compose --env-file=./backend/.env up -d
  1. Открыть bash-терминал сервиса Backend
docker-compose exec -it backend bash
  1. Заполнить БД
/app/.venv/bin/python manage.py loaddata seed/0001_initial.json
  1. Создать суперпользователя
/app/.venv/bin/python manage.py createsuperuser
  1. Выйти из консоли сервиса
exit
  1. Добавить новую конфигурацию Nginx в sites-available
sudo nano /etc/nginx/sites-available/site.conf

Конфигурация:

map $http_upgrade $connection_upgrade {
    default upgrade;
    '' close;
}

server {
    listen 80;
    server_name example.com;
    
    location / {
        proxy_pass http://localhost:8000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $connection_upgrade;
        proxy_set_header Host $host
        
        proxy_set_header X-Real-IP $remote_addr; 
        proxy_set_header X-Real-PORT $remote_port;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}
  1. Создание символической ссылки sites-available/site.conf в sites-enabled
sudo ln -s /etc/nginx/sites-available/site.conf /etc/nginx/sites-enabled/
  1. Проверка работоспособности конфигурации Nginx
sudo nginx -t
  1. Перезапуск Nginx
sudo nginx -s reload
  1. Приложение готово к работе, перейдите по адресу указанному в конфиге Nginx и пройдите авторизацию image image