74 lines
3.2 KiB
Markdown
74 lines
3.2 KiB
Markdown
|
|
|||
|
## WORLD-NETWORK-SIMULATOR
|
|||
|
|
|||
|
##### В данном репозитории храниться проект WNS, в начальной имплементации - симуляция дронов
|
|||
|
|
|||
|
#### Запуск проекта
|
|||
|
|
|||
|
У вас должен быть установлен следующий инструментарий:
|
|||
|
|
|||
|
- Docker
|
|||
|
- Docker-compose (на win достаточно docker)
|
|||
|
- Make (утилита для работы с Makefile)
|
|||
|
- И прочие конкретные компиляторы и тд, в зависимости от потребности
|
|||
|
|
|||
|
Запуск
|
|||
|
```
|
|||
|
make build - сборка кода
|
|||
|
make up -d --force-recreate - поднять контейнеры с перекомпиляцией измененных переменных окружений
|
|||
|
|
|||
|
make devf - build + up + logs - соберет, поднимет и даст логи
|
|||
|
|
|||
|
|
|||
|
#> прочее <#
|
|||
|
make stop - остановит контейнеры
|
|||
|
make exterminatus - снесет все контейнеры и их данные
|
|||
|
```
|
|||
|
|
|||
|
#### Описание структуры папок
|
|||
|
|
|||
|
```
|
|||
|
// >Tree -L 2
|
|||
|
.
|
|||
|
├── Api - серверная часть
|
|||
|
│ ├── Application - FastApi с конечными точками фронта
|
|||
|
│ ├── Dockerfile
|
|||
|
│ └── Kernel - "Ядро" всей программы
|
|||
|
├── docker-compose.yaml
|
|||
|
├── Frontend - интерфейс и клиентская часть
|
|||
|
│ └── Dockerfile
|
|||
|
├── Makefile - файл-сборщик
|
|||
|
├── Readme.md
|
|||
|
└── Services - микросервисы (сервер)
|
|||
|
├── Updater - Раздает обновления фротенд ПО
|
|||
|
├── Lister - Обновляет необходимые таблицы БД
|
|||
|
└── Dockerfile
|
|||
|
```
|
|||
|
|
|||
|
Как выглядит Диаграмма межсервисных связей:
|
|||
|
|
|||
|
![wires](./Docs/Images/wires.png)
|
|||
|
|
|||
|
|
|||
|
### Отдельные примечания для работы с репозиториями
|
|||
|
|
|||
|
#### Api/Application - главное api с которым работает фронтенд
|
|||
|
|
|||
|
```
|
|||
|
# В корне проекта (а это уровень где лежит .env docker-compose и тд), открываем терминал
|
|||
|
|
|||
|
# САМОЕ ПЕРВОЕ ДЕЙСТВИЕ: для разработки без docker пишем след. команды:
|
|||
|
python -m venv .venv # создаем локальное вирт. окружение
|
|||
|
pip install -r Api/Application/requirements.txt # устанавливаем зависимости
|
|||
|
source .venv/bin/activate # Активируем окружение (если на винде пишем: .venv/Scripts/activate)
|
|||
|
|
|||
|
|
|||
|
# Далее рассматриваем команды относительно папки Api/Applicaition, тобишь при команде ls/dir вы должны увидеть:
|
|||
|
app Dockerfile requirements.txt
|
|||
|
|
|||
|
# Полезные команды
|
|||
|
pip freeze > requirements.txt -> "заморозит" зависимости, нужно когда устанавливаете новый пакет в pip
|
|||
|
|
|||
|
```
|
|||
|
|