- Автоматическая синхронизация библиотеки игр каждые 24 часа
- Отслеживание достижений в реальном времени
- Информация о друзьях и их активности
- Детальная статистика по каждой игре
- Автоматическая пометка игр с 100% достижениями
- Ручное управление статусом прохождения
- История прогресса с датами и временем
- Фильтрация по статусу (пройдено/в процессе)
- Графики прогресса по достижениям
- Статистика времени в играх
- Общий прогресс библиотеки
- Топ самых популярных игр
- Просмотр профилей друзей Steam
- Активность друзей в играх
- Список недавно сыгранных игр
- Steam Community интеграция
- Glassmorphism дизайн
- Темная тема по умолчанию
- Адаптивный дизайн для всех устройств
- Плавные анимации (Framer Motion)
- Infinite scroll для больших библиотек
- Docker & Docker Compose
- Node.js 20+ (для локальной сборки)
- Steam API Key (получить здесь)
git clone https://github.com/SniffRx/steam-library.git && cd steam-librarycp .env.example .env
Отредактируйте .env и добавьте ваши данные:
APP_KEY=
DB_DATABASE=steam_library
DB_USERNAME=postgres
DB_PASSWORD=your_secure_password
#Steam API Configuration
STEAM_API_KEY=your_steam_api_key npm install && npm run build
💡 Это создаст production сборку React-приложения в
public/build/
docker compose up -d --build
docker compose exec app php artisan key:generate
docker compose exec app php artisan migrate --force
docker compose exec app php artisan db:seedОткройте браузер: http://localhost:8080
- Laravel 12 — PHP framework
- PostgreSQL 16 — основная база данных
- DragonflyDB — высокопроизводительный Redis-совместимый кэш
- PHP 8.3-FPM — обработка запросов
- Nginx — веб-сервер
- React 19 — UI библиотека
- TypeScript — типизация
- Vite 7 — сборщик
- Tailwind CSS 4 — стилизация
- Framer Motion — анимации
- Inertia.js — SPA без API
- React Query — управление состоянием
- Radix UI — доступные компоненты
- Docker — контейнеризация
- Supervisor — управление процессами
- GitHub Actions — CI/CD (опционально)
Для удобства разработки используйте Makefile:
- make install # Установка npm-зависимостей
- make build # Сборка frontend (production)
- make dev # Запуск Vite dev server
- make up # Запуск Docker контейнеров
- make down # Остановка контейнеров
- make restart # Перезапуск контейнеров
- make keygen # Генерация APP_KEY
- make migrate # Выполнение миграций
- make seed # Заполнение тестовыми данными
- make fresh # Пересоздание БД с миграциями
- make logs # Просмотр логов приложения
- make shell # Вход в контейнер приложения
- make clean # Очистка кэша и временных файлов
steam-library/
├── app/ # Laravel application
│ ├── Http/
│ ├── Models/
│ └── Services/
├── resources/
│ ├── js/ # React application
│ │ ├── components/ # Переиспользуемые компоненты
│ │ ├── layouts/ # Layout компоненты
│ │ ├── pages/ # Страницы (Inertia)
│ │ └── hooks/ # Custom React hooks
│ └── css/ # Стили
├── docker/ # Docker конфигурация
│ ├── nginx/
│ └── prod/
├── public/ # Публичная директория
│ └── build/ # Собранный frontend
└── docker-compose.yml # Docker Compose конфигурация
npm run dev
docker compose up
docker compose exec app php artisan queue:work
npm run types
npm run lint
npm run format
./vendor/bin/pint
GET /— Welcome pageGET /dashboard— Главная панельGET /gameslist— Библиотека игрGET /steam/user/{steamId}— Профиль пользователяPOST /gameslist/sync-all— Синхронизация с Steam
Приложение использует официальный Steam Web API:
- GetOwnedGames
- GetPlayerAchievements
- GetFriendList
- GetPlayerSummaries
- GetUserStatsForGame
Проект использует оптимизированный multi-stage Dockerfile:
- Frontend stage — сборка React приложения
- Backend stage — финальный образ с PHP-FPM + Nginx
docker build -t steam-library:latest -f docker/prod/Dockerfile .docker compose -f docker-compose.yml up -d- ✅ CSRF защита
- ✅ XSS защита
- ✅ SQL Injection защита (Eloquent ORM)
- ✅ Rate Limiting
- ✅ Session management
- ✅ Secure password hashing
Мы приветствуем вклад сообщества! Вот как вы можете помочь:
- Fork репозитория
- Создайте feature branch (
git checkout -b feature/AmazingFeature) - Commit изменения (
git commit -m 'Add some AmazingFeature') - Push в branch (
git push origin feature/AmazingFeature) - Откройте Pull Request
- Экспорт данных в CSV/JSON
- Система рекомендаций игр
- GraphQL API
- Поддержка множественных Steam аккаунтов ?
- Интеграция с другими платформами (Epic Games, GOG) ?
- Mobile приложение (React Native) ?
- Telegram bot для уведомлений ?
Этот проект лицензирован под MIT License - подробности в файле LICENSE.
SniffRx
- GitHub: @SniffRx
- Telegram: SniffRxIT (Посты по программированию и помощь новичкам)
- Telegram: SerjikSGR (Канал с видосами по играм и LIVE контент)
Есть вопросы или предложения?
Если проект был полезен — поставьте ⭐️
Made with ❤️ by SniffRx





