Add Notification and new mini desing

This commit is contained in:
2026-01-15 13:26:04 +06:00
parent 303d38f28e
commit 8edd7131a2
56 changed files with 3554 additions and 5197 deletions

276
README.md
View File

@@ -1,128 +1,192 @@
# MC Panel - Панель управления Minecraft серверами
Панель управления для Minecraft серверов с FastAPI бэкендом и React фронтендом.
**Версия:** 1.0.0
**Дата:** 15 января 2026
## Возможности
---
- Создание новых серверов
- 🎮 Запуск и остановка серверов
- 💻 Консоль с отправкой команд в реальном времени
- 📁 Менеджер файлов:
- Загрузка и скачивание файлов
- Просмотр содержимого файлов
- Редактирование текстовых файлов
- Переименование файлов и папок
- Удаление файлов и папок
- 📊 Мониторинг ресурсов (CPU, ОЗУ, диск)
- ⚙️ Настройки сервера (название, команда запуска)
- 🗑️ Удаление серверов
- 🔄 Автообновление статистики
## 📚 Документация
## Установка
### 📖 [ДОКУМЕНТАЦИЯ.md](ДОКУМЕНТАЦИЯ.md)
**Полная документация проекта**
### Бэкенд
Содержит всю информацию о проекте:
- 🚀 Быстрый старт
- ⚙️ Установка и настройка
- 🎮 Функциональность
- 🔔 Система уведомлений
- 🎨 Дизайн и темы
- 📁 Файловый менеджер
- 🎫 Система тикетов
- 👤 Личный кабинет
- 🔐 OpenID Connect
- 👥 Роли пользователей
- 🔒 Безопасность
- 🔧 Troubleshooting
**Начните отсюда!** 👈
---
### 🌐 [API.md](API.md)
**Документация API**
Полное описание REST API:
- 📋 Все эндпоинты (37 шт.)
- 🔐 Аутентификация
- 👥 Управление пользователями
- 🖥️ Управление серверами
- 📁 Управление файлами
- 🎫 Тикеты
- 💡 Примеры интеграции (Python, JavaScript, cURL)
- 📦 Postman коллекция
**Для разработчиков!** 👨‍💻
---
### 📦 [MC_Panel_API.postman_collection.json](MC_Panel_API.postman_collection.json)
**Postman коллекция**
Готовая коллекция для тестирования API:
- 40+ готовых запросов
- Автоматическое сохранение токена
- Переменные окружения
- Примеры тел запросов
**Импортируйте в Postman!** 📮
---
## 🚀 Быстрый старт
### 1. Установка
**Backend:**
```bash
cd backend
pip install -r requirements.txt
python main.py
```
Сервер запустится на http://0.0.0.0:8000
### Фронтенд
**Frontend:**
```bash
cd frontend
npm install
npm run dev -- --host
```
Приложение откроется на http://localhost:3000
## Доступ через сеть (Radmin VPN, Hamachi и т.д.)
### Вариант 1: Автоматическое определение (рекомендуется)
Фронтенд автоматически определит IP адрес и подключится к бэкенду.
1. Запустите бэкенд (он слушает на всех интерфейсах)
2. Запустите фронтенд с флагом `--host`:
```bash
npm run dev -- --host
```
3. Откройте в браузере: `http://ВАШ_IP:3000`
- Например: `http://26.123.45.67:3000` (Radmin VPN IP)
### Вариант 2: Ручная настройка
Создайте файл `frontend/.env.local`:
```
VITE_API_URL=http://26.123.45.67:8000
```
Замените `26.123.45.67` на ваш IP адрес в Radmin VPN.
### Проверка IP адреса
Windows:
```bash
ipconfig
```
Ищите адрес адаптера Radmin VPN (обычно начинается с 26.x.x.x)
## Структура
```
backend/
main.py # FastAPI сервер
requirements.txt # Зависимости Python
servers/ # Папка с серверами Minecraft
frontend/
src/
components/
Console.jsx # Компонент консоли
FileManager.jsx # Менеджер файлов
Stats.jsx # Статистика
App.jsx # Главный компонент
main.jsx # Точка входа
package.json # Зависимости Node.js
```
## Использование
### Быстрый старт
**Windows:**
```bash
START_PANEL.bat
```
**Вручную:**
```bash
# Терминал 1 - Бэкенд
cd backend
python main.py
# Терминал 2 - Фронтенд
cd frontend
npm run dev
```
Откройте в браузере: http://localhost:3000
### 2. Первый вход
### Создание сервера
1. Откройте `http://localhost:3000`
2. Зарегистрируйтесь (первый пользователь = admin)
3. Создайте сервер
4. Загрузите `server.jar`
5. Запустите сервер!
1. Нажмите кнопку "+" для создания нового сервера
2. Укажите имя, отображаемое название и команду запуска
3. Загрузите файлы сервера (server.jar и т.д.) через менеджер файлов
4. Создайте файл `eula.txt` с содержимым `eula=true`
5. Запустите сервер и управляйте им через вкладки:
- **Консоль** - просмотр логов и отправка команд
- **Файлы** - управление файлами сервера
- **Статистика** - мониторинг ресурсов
- **Настройки** - изменение параметров сервера
**Учетные данные по умолчанию:**
- Логин: `Root`
- Пароль: `Admin`
Подробнее: см. `QUICK_START.md`
---
## ✨ Основные возможности
- 🖥️ **Управление серверами** - запуск, остановка, мониторинг
- 📁 **Файловый менеджер** - полное управление файлами
- 💬 **Консоль** - команды и логи в реальном времени
- 📊 **Статистика** - CPU, RAM, диск
- 🎫 **Тикеты** - система поддержки
- 👥 **Пользователи** - роли и права доступа
- 🔐 **OpenID Connect** - интеграция с ZITADEL
- 🎨 **6 тем** - включая современную темную
- 🔔 **Уведомления** - о всех событиях
- 👤 **Личный кабинет** - профиль и статистика
---
## 🛠️ Технологии
**Backend:**
- FastAPI (Python)
- JWT аутентификация
- WebSocket
- Authlib (OpenID Connect)
**Frontend:**
- React 18
- Tailwind CSS
- Axios
- Lucide React
---
## 📁 Структура проекта
```
mc-panel/
├── backend/
│ ├── main.py # FastAPI приложение
│ ├── oidc_config.py # OpenID Connect
│ ├── requirements.txt # Зависимости
│ └── servers/ # Папка серверов
├── frontend/
│ ├── src/
│ │ ├── App.jsx # Главный компонент
│ │ ├── components/ # React компоненты
│ │ └── themes.js # Темы
│ └── package.json # npm зависимости
├── ДОКУМЕНТАЦИЯ.md # Документация проекта
├── API.md # API документация
├── MC_Panel_API.postman_collection.json # Postman
└── README.md # Этот файл
```
---
## 🔒 Безопасность
- JWT токены (7 дней)
- Bcrypt хеширование паролей
- Проверка прав доступа
- Защита файловой системы
- OpenID Connect поддержка
**Для production:**
1. Измените `SECRET_KEY` в `backend/main.py`
2. Используйте HTTPS
3. Настройте CORS
4. Используйте базу данных вместо JSON
---
## 📞 Поддержка
- **Документация:** [ДОКУМЕНТАЦИЯ.md](ДОКУМЕНТАЦИЯ.md)
- **API:** [API.md](API.md)
- **Тикеты:** Используйте систему тикетов в панели
- **GitHub:** [Ссылка на репозиторий]
---
## 📝 Лицензия
MIT License - свободное использование
---
## 🙏 Благодарности
Спасибо за использование MC Panel!
Если у вас есть вопросы или предложения:
1. Прочитайте документацию
2. Проверьте API документацию
3. Создайте тикет в системе
---
**Версия:** 1.0.0
**Дата:** 15 января 2026
**Приятного использования!** 🎮