Chiwawa Server - это веб-сайт для приватного Minecraft сервера с полнофункциональной системой пользователей. Проект включает в себя регистрацию, авторизацию, профили пользователей, админ-панель и систему заявок на присоединение к серверу.
- 🔐 Система авторизации - Безопасная регистрация и вход
- 👤 Профили пользователей - Персональные страницы с информацией об игроке
- 📝 Система заявок - Подача заявок на присоединение к серверу
- 🛡️ Админ-панель - Управление пользователями и заявками
- 📧 Восстановление пароля - Безопасное восстановление доступа
- 🎨 Современный дизайн - Minecraft-стилизованный интерфейс
- 📱 Адаптивность - Поддержка всех устройств
- Node.js - Серверная платформа
- Express.js - Веб-фреймворк
- PostgreSQL - База данных
- JWT - Аутентификация
- bcryptjs - Хеширование паролей
- Helmet - Безопасность
- CORS - Кросс-доменные запросы
- HTML5/CSS3 - Разметка и стили
- TailwindCSS - CSS-фреймворк
- Vanilla JavaScript - Клиентская логика
- Font Awesome - Иконки
- Docker - Контейнеризация
- PM2 - Менеджер процессов
- Nginx - Веб-сервер
- Jest - Тестирование
- Node.js >= 16.0.0
- PostgreSQL >= 12
- npm или yarn
- Клонирование репозитория
git clone https://github.com/KORESHon/chiwawasite.git
cd chiwawasite
- Установка зависимостей
npm install
- Настройка окружения
cp .env.example .env
# Отредактируйте .env файл с вашими настройками
- Создание базы данных
npm run db:create
- Запуск в режиме разработки
npm run dev
- Запуск в продакшене
npm start
# Сборка и запуск
npm run docker:build
npm run docker:run
# Остановка
npm run docker:stop
# Сервер
PORT=3000
NODE_ENV=production
# База данных
DB_HOST=localhost
DB_PORT=5432
DB_NAME=chiwawa_db
DB_USER=your_username
DB_PASSWORD=your_password
# JWT
JWT_SECRET=your_jwt_secret
JWT_EXPIRES_IN=24h
# Email
EMAIL_HOST=smtp.gmail.com
EMAIL_PORT=587
EMAIL_USER=your_email
EMAIL_PASSWORD=your_app_password
# Discord (опционально)
DISCORD_WEBHOOK_URL=your_discord_webhook_url
chiwawa-server-system/
├── public/ # Статические файлы
│ ├── index.html # Главная страница
│ ├── login.html # Страница входа
│ ├── register.html # Страница регистрации
│ ├── profile.html # Профиль пользователя
│ ├── admin.html # Админ-панель
│ └── assets/ # Ресурсы (CSS, JS, изображения)
├── src/ # Исходный код сервера
│ ├── server.js # Главный файл сервера
│ ├── config/ # Конфигурация
│ ├── middleware/ # Промежуточное ПО
│ ├── models/ # Модели данных
│ ├── routes/ # Маршруты API
│ └── utils/ # Утилиты
├── database/ # База данных
│ ├── schema.sql # Схема БД
│ └── migrations/ # Миграции
├── scripts/ # Скрипты развертывания
├── docs/ # Документация
└── docker-compose.yml # Docker конфигурация
POST /api/auth/register
- РегистрацияPOST /api/auth/login
- ВходPOST /api/auth/logout
- ВыходPOST /api/auth/forgot-password
- Восстановление пароля
GET /api/profile
- Получить профильPUT /api/profile
- Обновить профильPOST /api/profile/avatar
- Загрузить аватар
POST /api/applications
- Подать заявкуGET /api/applications
- Получить заявки (админ)PUT /api/applications/:id
- Обновить статус заявки (админ)
GET /api/admin/users
- Список пользователейPUT /api/admin/users/:id
- Обновить пользователяDELETE /api/admin/users/:id
- Удалить пользователя
# Разработка
npm run dev # Запуск с nodemon
npm run build # Сборка для продакшена
# Тестирование
npm test # Запуск тестов
npm run lint # Линтинг кода
npm run format # Форматирование кода
# База данных
npm run db:create # Создание БД
npm run db:backup # Резервное копирование
# PM2
npm run pm2:start # Запуск с PM2
npm run pm2:stop # Остановка PM2
npm run pm2:restart # Перезапуск PM2
npm run pm2:logs # Логи PM2
# Развертывание
npm run deploy:configure # Настройка развертывания
npm run deploy # Развертывание
# Docker
npm run docker:build # Сборка образа
npm run docker:run # Запуск контейнера
npm run docker:stop # Остановка контейнера
- Хеширование паролей с помощью bcryptjs
- JWT токены для аутентификации
- Rate limiting для предотвращения атак
- Валидация входных данных
- Защита от CSRF атак
- Secure headers с Helmet
- Fork проекта
- Создайте feature branch (
git checkout -b feature/AmazingFeature
) - Commit изменения (
git commit -m 'Add some AmazingFeature'
) - Push в branch (
git push origin feature/AmazingFeature
) - Создайте Pull Request
Этот проект лицензирован под MIT License - см. файл LICENSE для деталей.
ebluffy - Создатель и основной разработчик
- Email: [email protected]
- GitHub: @KORESHon
- Minecraft сообществу за вдохновение
- Всем контрибьюторам проекта
- Игрокам сервера Chiwawa за обратную связь
- Версия: 2.1.0
- Статус: Активная разработка
- Последнее обновление: Декабрь 2024
🎮 Присоединяйтесь к серверу Chiwawa уже сегодня! 🎮
Создано с ❤️ для игрового сообщества