World-Network-Simulator/Readme.md
2024-09-15 17:39:33 +07:00

74 lines
3.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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