._.
4
.gitignore
vendored
@ -2,6 +2,7 @@
|
||||
|
||||
# dependencies
|
||||
/node_modules
|
||||
node_modules/
|
||||
/.pnp
|
||||
.pnp.js
|
||||
|
||||
@ -10,6 +11,7 @@
|
||||
|
||||
# production
|
||||
/build
|
||||
build/
|
||||
|
||||
# misc
|
||||
.DS_Store
|
||||
@ -21,5 +23,3 @@
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
|
||||
.env
|
||||
2
app/.env
Normal file
@ -0,0 +1,2 @@
|
||||
REACT_APP_LOGISTICS_API_URL=https://api.logistics.numerum.site/api
|
||||
REACT_APP_API_KEY=d101001e-49f5-4a17-ac39-2d67f64b3f9b
|
||||
0
package-lock.json → app/package-lock.json
generated
|
Before Width: | Height: | Size: 48 KiB After Width: | Height: | Size: 48 KiB |
|
Before Width: | Height: | Size: 168 KiB After Width: | Height: | Size: 168 KiB |
|
Before Width: | Height: | Size: 43 KiB After Width: | Height: | Size: 43 KiB |
|
Before Width: | Height: | Size: 484 KiB After Width: | Height: | Size: 484 KiB |
|
Before Width: | Height: | Size: 646 B After Width: | Height: | Size: 646 B |
|
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
0
src/App.jsx → app/src/App.jsx
Executable file → Normal file
0
src/AppRouter.jsx → app/src/AppRouter.jsx
Executable file → Normal file
0
src/api.jsx → app/src/api.jsx
Executable file → Normal file
0
src/index.jsx → app/src/index.jsx
Executable file → Normal file
13
docker-compose.yaml
Normal file
@ -0,0 +1,13 @@
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
react-app:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile
|
||||
ports:
|
||||
- "5003:3000"
|
||||
environment:
|
||||
- CHOKIDAR_USEPOLLING=true
|
||||
- REACT_APP_LOGISTICS_API_URL=your_api_url
|
||||
- REACT_APP_API_KEY=your_react_app_api_key
|
||||
120
readme.md
Normal file
@ -0,0 +1,120 @@
|
||||
# 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)
|
||||
|
||||