Files
ServerManager/PROJECT_GUIDE.md
T

3.5 KiB

ServerManager Pro - Руководство разработчика

🏗️ Структура проекта

wireguard-manager/ ├── 📁 installers/ # Скрипты установки ├── 📁 public/ # Статические файлы Electron ├── 📁 scripts/ # Вспомогательные скрипты ├── 📁 src/ # Исходный код React │ ├── 📁 components/ # Компоненты приложения │ └── 📄 App.js # Главный компонент ├── 📄 build.sh # Основной скрипт сборки ├── 📄 build.prod.sh # Продакшен сборка └── 📄 package.json # Конфигурация проекта

🎯 Назначение компонентов

Основные компоненты:

  • Dashboard (Dashboard.js) - Главная панель управления
  • ServerList (ServerList.js) - Управление серверами
  • ServerMonitoring (ServerMonitoring.js) - Мониторинг серверов
  • NetworkMonitor (NetworkMonitor.js) - Мониторинг сети
  • PasswordManager (PasswordManager.js) - Менеджер паролей
  • CommandTemplates (CommandTemplates.js) - Шаблоны команд
  • Notes (Notes.js) - Система заметок
  • Settings (Settings.js) - Настройки приложения

Вспомогательные компоненты:

  • BatchOperations - Пакетные операции
  • NetworkTools - Сетевые инструменты
  • ServerHealth - Проверка здоровья серверов

🔧 Ключевые файлы

Electron файлы:

  • public/electron.js - Главный процесс Electron
  • public/preload.js - Безопасный мост между процессами
  • public/index.html - Базовая HTML структура

Конфигурационные файлы:

  • package.json - Зависимости и скрипты
  • tailwind.config.js - Конфигурация Tailwind CSS
  • .env - Переменные окружения

🚀 Быстрый старт при разработке

Установка зависимостей

npm install

Запуск в режиме разработки

./build.sh dev

Сборка для продакшена

./build.sh build # Сборка Linux (.deb) + Windows (.exe)

Только Linux сборка

./build.sh build-linux

Очистка сборок

./build.sh clean

!! ВАЖНО !! Настройка Wine для сборки Windows приложений

Установка Wine на Ubuntu/Debian:

sudo apt update sudo apt install -y wine

🎨 Архитектура

Frontend (React):

  • Тёмная тема по умолчанию
  • Tailwind CSS для стилей
  • Компонентный подход
  • Состояние через useState/useEffect

Backend (Electron):

  • Главный процесс - управление окнами
  • Предзагрузка - безопасный API мост
  • Файловая система - хранение данных

Хранение данных:

  • servers.json - список серверов
  • passwords.json - менеджер паролей
  • notes.json - система заметок
  • command-templates.json - шаблоны команд