This commit is contained in:
Андрей Дувакин 2024-12-22 20:07:49 +05:00
parent eef8ca7762
commit 2940b3a2e1
50 changed files with 137 additions and 2 deletions

4
.gitignore vendored
View File

@ -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
View 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

View File

Before

Width:  |  Height:  |  Size: 48 KiB

After

Width:  |  Height:  |  Size: 48 KiB

View File

Before

Width:  |  Height:  |  Size: 168 KiB

After

Width:  |  Height:  |  Size: 168 KiB

View File

Before

Width:  |  Height:  |  Size: 43 KiB

After

Width:  |  Height:  |  Size: 43 KiB

View File

Before

Width:  |  Height:  |  Size: 484 KiB

After

Width:  |  Height:  |  Size: 484 KiB

View File

Before

Width:  |  Height:  |  Size: 646 B

After

Width:  |  Height:  |  Size: 646 B

View File

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

0
src/App.jsx → app/src/App.jsx Executable file → Normal file
View File

0
src/AppRouter.jsx → app/src/AppRouter.jsx Executable file → Normal file
View File

0
src/api.jsx → app/src/api.jsx Executable file → Normal file
View File

0
src/index.jsx → app/src/index.jsx Executable file → Normal file
View File

13
docker-compose.yaml Normal file
View 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
View 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)

Binary file not shown.