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