# P.S.

Это WEB часть проекта, разработанный командой Numerum для хакатона [кодиндустрии.рф](кодиндустрии.рф).

# ВНИМАНИЕ

Проект запущен на сервере и доступен по адресу:
https://logistics.numerum.team  
Данные для авторизации представлены ниже.

API проекта также развернуто на сервере, документация доступна
по адресу:
https://api.logistics.numerum.team/docs

# Инструкция по запуску API и веб-приложения

## Описание

Этот проект состоит из двух основных компонентов: API, написанного на FastAPI, и веб-приложения, разработанного с
использованием React.

### API

Структура API выглядит следующим образом:

```
.  
├── core  
│   ├── entities  
│   └── usecases  
├── infrastructure  
│   ├── database  
│   └── fastapi  
├── __init__.py  
└── main.py  
```

* core: содержит бизнес-логику и сущности.
* infrastructure: отвечает за взаимодействие с базой данных и определение маршрутов FastAPI.
* main.py: основной файл для запуска приложения.

## Веб-приложение

```
.  
├── package.json  
├── public  
│   └── index.html  
└── src  
    ├── api.jsx  
    ├── App.jsx  
    ├── AuthContext.jsx  
    └── components  
    └── pages  
```

* src: содержит код приложения, включая компоненты и страницы.
* api.jsx: файл для определения API-запросов.
* App.jsx: главный компонент приложения.

## Запуск API

1. Убедитесь, что у вас установлен Python 3.12 или выше.
2. Установите необходимые зависимости с помощью pip:  
   ```pip install -r requirements.txt```
3. Запустите API с помощью следующей команды:  
   ```uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload```

Это запустит API на http://localhost:8000.

### ВНИМАНИЕ!!!

[Файл](API/.env) с данными для подключения к моей базе на сервере должен лежать внутри папки [app](API/app).
Если библиотеки скачаны правильно и виртуальное окружение настроено, АПИ подключится к базе самостоятельно.

# Запуск веб-приложения

1. Убедитесь, что у вас установлен Node.js и npm.
2. Перейдите в папку веб-приложения и установите зависимости:

```
cd <путь_к_вашему_веб_приложению>  
npm install
```

3. Запустите веб-приложение с помощью команды:

```
npm start
```

Это запустит приложение на http://localhost:3000.

# Использование

После запуска обеих частей проекта, вы сможете взаимодействовать с API через веб-приложение. Просто откройте ваш браузер
и перейдите по адресу http://localhost:3000.

# Данные для авторизации

Login: ivan.petrov - администратор	  
Password:    password123

Login: olga.ivanova   
Password: securepass

Login: anton.sidorov  
Password: mypassword

Login: maria.smirnova  
Password: pass321

Login: dmitry.vasilev  
Password: strongpass

# Демонстрация запуска и установки

Скачайте видео для просмотра демонстрации:
[Установка и запуск.mp4](%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0%20%D0%B8%20%D0%B7%D0%B0%D0%BF%D1%83%D1%81%D0%BA.mp4)

