Development RU - LouisFahrenheit/Factorio-Control-Center GitHub Wiki
Разработка
Инструкции по запуску проекта для разработки, тестированию и сборке релизов.
Требования
- Node.js 24
- Git
- Инструменты сборки C++ (нужны для компиляции
better-sqlite3):- Windows: Visual Studio Build Tools (с рабочей нагрузкой «Разработка классических приложений на C++») или Visual Studio Community
- Linux:
build-essential(gcc,g++,make) иpython3
Структура проекта
src/— бэкенд (NestJS, TypeORM, SQLite, WebSockets)client/— фронтенд (React, Vite)locale/— файлы локализации (server_lang_*.json,server_commands_*.json)scripts/— скрипты сборки релизов и установки службwiki/— исходники документации для GitHub Wiki
Запуск для разработки
Самый простой способ — интерактивное меню разработки:
- Windows: запустите
StartDEV.bat - Linux: запустите
./StartDEV.sh
Меню умеет само устанавливать зависимости, запускать серверы, тесты и собирать релизы.
Запуск вручную через консоль
-
Клонируйте репозиторий и установите зависимости:
git clone https://github.com/LouisFahrenheit/Factorio-Control-Center.git cd Factorio-Control-Center npm install && npm install --prefix client -
Запустите бэкенд и фронтенд в двух терминалах:
# Терминал 1: API (порт 8080, автоперезапуск при изменении кода) npm run start:dev # Терминал 2: UI (Vite dev-сервер на http://127.0.0.1:5173 с HMR) npm run client:dev -
Откройте
http://127.0.0.1:5173в браузере. Все запросы к API и WebSocket Vite автоматически проксирует на порт 8080.
Документация API (Swagger)
У панели есть встроенный интерактивный Swagger UI.
- В файле
.envукажите:SWAGGER_ENABLED=true - Откройте
http://127.0.0.1:8080/api/docs. - Для отправки защищённых запросов авторизуйтесь через форму логина в панели или передайте
API_TOKENиз.env.
Тесты и проверка кода
# Запуск тестов
npm test # тесты бэкенда
npm run client:test # тесты фронтенда
npm run test:all # запуск всех тестов сразу
# Линтер и форматирование
npm run lint:check # проверка бэкенда через ESLint
npm run client:lint # проверка фронтенда
npm run lint # автоисправление ошибок линтера
npm run format # форматирование кода через Prettier
# Проверка файлов переводов
npm run locale:check
Сборка
Сборка проекта
# Сборка бэкенда и фронтенда
npm run build:all
# Запуск собранной версии
npm run start:prod
Сборка релизных архивов
Скрипт собирает готовый архив с панелью в папку release/:
npm run pack:release
- На Windows:
release/factorio-control-center-win.zip - На Linux:
release/factorio-control-center-linux.tar.gz
(Примечание: для сборки Linux-архива с нативными модулями из Windows запустите команду внутри WSL или Docker-контейнера).
Сборка своего Docker-образа
Если вы изменили код и хотите собрать свой образ:
- В
docker-compose.ymlукажитеbuild: .вместоimage: - Запустите сборку:
docker compose up -d --build