From 01b7e707abd234b325d3bdc7df442b8c16d9dad4 Mon Sep 17 00:00:00 2001 From: Vladimir Zagainov Date: Tue, 6 Jan 2026 19:32:10 +0300 Subject: [PATCH] docs: update main readme with project overview and links --- README.md | 62 +++++++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 49 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 3068c79..4b69a73 100644 --- a/README.md +++ b/README.md @@ -2,22 +2,58 @@ [![Build Status](https://drone.mrixs.me/api/badges/minecraft-platform/platform/status.svg)](https://drone.mrixs.me/minecraft-platform/platform) -Этот репозиторий является центральной точкой для проекта "Платформа Minecraft". Он объединяет все компоненты системы с помощью Git-субмодулей и содержит основную конфигурацию для развертывания и CI/CD. +Единая платформа для создания, управления и распространения сборок Minecraft. Включает в себя систему авторизации (совместимую с Authlib Injector), управление модпаками, скинами и мониторинг игровых серверов. -## Архитектура +--- -Проект построен на микросервисной архитектуре с использованием Docker и Docker Compose. Автоматическая сборка и развертывание осуществляется с помощью Drone CI. +## Возможности -### Компоненты (субмодули) +### 🔐 Авторизация и Лаунчер +- **Yggdrasil API**: Полная совместимость с лаунчерами, поддерживающими Authlib Injector APIs (HMCL, Prism Launcher и др.). +- **Система профилей**: Поддержка скинов (загрузка через веб-интерфейс). +- **Восстановление сессий**: Лаунчер запоминает вход пользователя. -* `backend/`: Основной бэкенд-сервер на Go. Реализует Yggdrasil API, Web API и Admin API. -* `frontend/`: Веб-интерфейс на Vue.js для пользователей и администраторов. -* `ping-helper/`: Вспомогательный WebSocket-сервис на Go для измерения пинга. -* `launcher/`: Кастомный игровой лаунчер (форк HMCL). +### 📦 Управление Модпаками +- **Автоматический импорт**: Поддержка импорта сборок с **CurseForge** и **Modrinth** (.mrpack). +- **Обновления**: Система версионирования сборок. Автоматическое обновление клиентов. +- **Оптимизация**: Дедупликация файлов для экономии места на сервере. -### Конфигурация +### 🖥️ Веб-интерфейс +- **Личный кабинет**: Управление профилем и скинами. +- **Админ-панель**: Управление пользователями, серверами и модпаками. +- **Мониторинг**: Отображение статуса серверов и онлайн-карты (**BlueMap**). -* `.drone.yml`: Пайплайн для Drone CI. -* `docker-compose.yml`: Описание сервисов для Docker. -* `Caddyfile`: Конфигурация веб-сервера Caddy. -* `scripts/`: Вспомогательные скрипты (миграции, бэкапы). +### ⚙️ Технические особенности +- **Микросервисная архитектура** (Go, Vue.js, PostgreSQL). +- **Асинхронная обработка**: Фоновые задачи для тяжелых операций (импорт сборок) с WebSocket-уведомлениями. +- **Безопасность**: JWT авторизация, Rate Limiting, защита паролей (Argon2/Bcrypt). + +--- + +## Документация + +Вся детальная документация находится в папке `docs/`: + +* [🚀 Руководство по развертыванию](docs/DEPLOYMENT.md): Инструкции по установке, настройке Docker Compose и переменных окружения. +* [📖 Руководство пользователя и администратора](docs/USER_GUIDE.md): Инструкции по работе с сайтом, лаунчером и администрированию платформы. +* [🔌 OpenAPI Specification](backend/internal/api/openapi.yaml): Описание API для разработчиков. + +## Быстрый старт (Dev) + +```bash +# 1. Клонирование репозитория +git clone --recursive https://git.mrixs.me/minecraft-platform/platform.git +cd platform + +# 2. Настройка переменных окружения +cp .env.example .env +# (Отредактируйте .env) + +# 3. Генерация ключей +mkdir -p secrets +openssl genrsa -out secrets/private_key.pem 2048 +openssl rsa -in secrets/private_key.pem -pubout -out secrets/public_key.pem + +# 4. Запуск +docker-compose up -d --build +```