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
|
||
|
||
```
|
||
|