Skip to content

Latest commit

ย 

History

12 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

HomeHost - Revolutionary Gaming Hosting Platform

HomeHost transforms complex server management into Netflix-like experiences, serving both casual hosts and professional community builders through a hybrid local-cloud architecture.

๐Ÿ—๏ธ Project Architecture

homehost/
โ”œโ”€โ”€ apps/
โ”‚   โ”œโ”€โ”€ web-dashboard/          # Next.js React web application
โ”‚   โ””โ”€โ”€ cloud-api/              # ASP.NET Core Web API
โ”œโ”€โ”€ packages/
โ”‚   โ”œโ”€โ”€ shared-types/           # Common TypeScript interfaces
โ”‚   โ”œโ”€โ”€ plugin-sdk/             # Plugin development SDK (future)
โ”‚   โ””โ”€โ”€ config/                 # Shared configuration (future)
โ”œโ”€โ”€ infrastructure/             # Infrastructure as Code (future)
โ”œโ”€โ”€ docs/                       # Comprehensive documentation
โ””โ”€โ”€ tests/                      # Integration and E2E tests (future)

๐Ÿš€ Quick Start

Prerequisites

  • Node.js 18.x or later
  • .NET 8 SDK
  • PostgreSQL 15.x (for cloud database)
  • Redis 7.x (for caching and real-time features)

Development Setup

  1. Clone and install dependencies:

    git clone <repository-url>
    cd homehost
    npm install
  2. Configure environment:

    cp .env.example .env.local
    # Edit .env.local with your configuration
  3. Build shared packages:

    npm run shared-types:build
  4. Start development servers:

    # Start all services in parallel
    npm run dev
    
    # Or start individually:
    npm run web-dashboard:dev    # Frontend at http://localhost:3000
    npm run cloud-api:dev        # API at https://localhost:7001

๐Ÿ“‹ Story 1.1: Core Platform Setup - COMPLETED โœ…

โœ… Acceptance Criteria Status

  1. โœ… Monorepo structure - Nx workspace with clear app/package separation
  2. โœ… Development environment - Automated build, test, and lint processes
  3. โœ… CI/CD pipeline - GitHub Actions workflow for automated testing and deployment
  4. โœ… Database architecture - PostgreSQL schema with migrations and EF Core context
  5. โœ… Basic authentication - JWT + Steam OAuth implementation with session management
  6. โœ… Health check endpoints - /health, /health/ready, /health/live endpoints
  7. โœ… Documentation structure - Comprehensive docs with sharded PRD and architecture

๐ŸŽฏ Key Accomplishments

Monorepo Infrastructure:

  • โœ… Nx workspace configuration with proper project dependencies
  • โœ… Web dashboard (Next.js + React + TypeScript)
  • โœ… Cloud API (ASP.NET Core + Entity Framework + SignalR)
  • โœ… Shared types package for consistent data models
  • โœ… Environment configuration templates

Development Tooling:

  • โœ… GitHub Actions CI/CD pipeline with security scanning
  • โœ… Health check endpoints for monitoring
  • โœ… Structured logging with Serilog
  • โœ… CORS configuration for web dashboard
  • โœ… Development scripts for all applications

Database & API Foundation:

  • โœ… PostgreSQL database schema with complete migration script
  • โœ… Entity Framework context with all domain models
  • โœ… JWT authentication with Steam OAuth integration
  • โœ… Session management with refresh tokens
  • โœ… Authentication controllers and API endpoints
  • โœ… Redis caching configuration
  • โœ… SignalR real-time communication setup
  • โœ… API response and request type definitions

๐ŸŽฎ Current Features

Web Dashboard

  • Game Library: Netflix-style browsing with 5 supported games
  • Community Browser: Social-driven server discovery
  • Plugin Marketplace: App store-style plugin interface
  • Server Management: Real-time server monitoring console
  • Dual UX: Progressive disclosure for Alex (casual) vs Sam (pro) users

Cloud API (Complete Foundation)

  • Authentication: Complete JWT + Steam OAuth with session management
  • Database: PostgreSQL with full schema and Entity Framework migrations
  • Health Checks: Comprehensive service monitoring endpoints
  • Real-time Sync: SignalR hub for Windows app synchronization
  • Caching: Redis integration for performance
  • Security: Token validation, refresh, and revocation
  • API Endpoints: Auth controllers with proper error handling

๐Ÿ—‚๏ธ Documentation

๐Ÿ”ง Available Scripts

# Development
npm run dev                     # Start all services in parallel
npm run web-dashboard:dev       # Frontend only
npm run cloud-api:dev          # Backend only

# Building
npm run build                   # Build all applications
npm run web-dashboard:build     # Frontend only
npm run cloud-api:build        # Backend only
npm run shared-types:build      # Shared types package

# Testing & Quality
npm run test                    # Run all tests
npm run lint                    # Run all linting

๐ŸŒ Deployment

Development

Production (Planned)

๐Ÿ“‹ Story 1.2: Game Library Infrastructure - COMPLETED โœ…

โœ… Acceptance Criteria Status

  1. โœ… Netflix-Style Game Grid - Rich metadata display with community stats and difficulty ratings
  2. โœ… Rich Game Metadata - Comprehensive game information with real-time community data
  3. โœ… One-Click Deployment - Full deployment API with progress tracking and status monitoring
  4. โœ… Comprehensive Game Information - System requirements, features, and compatibility details
  5. โœ… Search and Filtering - Advanced search with genre, difficulty, and player count filters
  6. โœ… Mobile Responsive - Responsive design with mobile-optimized layouts

๐ŸŽฏ Key Accomplishments

Game Library APIs:

  • โœ… Complete Games Controller with CRUD operations
  • โœ… Advanced search and filtering with pagination
  • โœ… Real-time community server counting
  • โœ… Game popularity and trending calculations
  • โœ… Rich metadata including system requirements and features

One-Click Deployment System:

  • โœ… Full deployment API with progress tracking
  • โœ… Server management endpoints (start/stop/delete)
  • โœ… Real-time status monitoring
  • โœ… Connection information generation
  • โœ… User-specific server ownership validation

Frontend Integration:

  • โœ… Connected Game Library to real backend APIs
  • โœ… Real-time deployment progress tracking
  • โœ… Enhanced HTTP client with query parameter support
  • โœ… Loading states and error handling
  • โœ… Netflix-style responsive grid layout

Database Foundation:

  • โœ… Complete game database schema with 5 supported games
  • โœ… Seed data for Valheim, MotorTown, CS:GO 2, Rust, 7 Days to Die
  • โœ… Rich metadata including difficulty ratings and community stats
  • โœ… System requirements and configuration options

๐Ÿ“‹ Story 1.3: Steam Integration System - COMPLETED โœ…

โœ… Acceptance Criteria Status

  1. โœ… Steam ID input field validates and fetches game metadata - Complete Steam Web API integration
  2. โœ… SteamCMD integration automatically downloads and configures dedicated server files - Full automation
  3. โœ… System detects supported dedicated server games - Compatibility warnings and validation
  4. โœ… Automatic updates keep server files synchronized - Update checking and management
  5. โœ… Steam Workshop integration enables mod browsing - Full Workshop API integration
  6. โœ… Authentication with Steam credentials - Steam OAuth and ticket validation

๐ŸŽฏ Key Accomplishments

Steam Web API Integration:

  • โœ… Complete Steam app information retrieval and validation
  • โœ… User profile fetching and Steam ID validation
  • โœ… Game search and discovery functionality
  • โœ… Dedicated server detection and compatibility checking
  • โœ… Platform support validation (Windows/Linux)

SteamCMD Automation:

  • โœ… Automated game server file downloads via SteamCMD
  • โœ… Update management and file synchronization
  • โœ… Progress tracking and error handling
  • โœ… Configurable installation paths
  • โœ… Workshop item downloading capabilities

Steam Authentication System:

  • โœ… Steam ticket validation with proper security
  • โœ… User profile integration and avatar support
  • โœ… Session management with Steam credentials
  • โœ… Server ownership verification

Steam Workshop Integration:

  • โœ… Workshop item browsing and search
  • โœ… Mod metadata and popularity tracking
  • โœ… Automatic mod downloads via SteamCMD
  • โœ… Tag-based filtering and categorization

Frontend Steam Discovery:

  • โœ… Steam Game Discovery component with real-time validation
  • โœ… App search with autocomplete and metadata display
  • โœ… Compatibility warnings and deployment guidance
  • โœ… One-click server file downloads
  • โœ… Responsive design with loading states

Database Integration:

  • โœ… Steam user data integration in existing auth system
  • โœ… Game metadata storage with Steam app IDs
  • โœ… Server configuration with Steam-specific settings

๐Ÿ“‹ Story 1.4: Custom Game Support - COMPLETED โœ…

โœ… Acceptance Criteria Status

  1. โœ… File Upload Interface - Secure .exe file upload with validation for executable formats
  2. โœ… Configuration Wizard - Interactive wizard guiding users through port settings and launch parameters
  3. โœ… Template System - Save and share custom game configurations with community
  4. โœ… Community-Contributed Profiles - Easy setup for unsupported games through community sharing
  5. โœ… Automatic Detection - Intelligent pattern recognition for common server architectures
  6. โœ… Manual Override Options - Full expert control for advanced users and custom configurations

๐ŸŽฏ Key Accomplishments

File Upload & Validation System:

  • โœ… Secure multi-format executable upload (.exe, .jar, .sh, .py)
  • โœ… Advanced file validation with signature checking
  • โœ… Malicious file detection and security validation
  • โœ… File size limits and format restrictions
  • โœ… Hash generation for file integrity

Advanced Pattern Detection:

  • โœ… Game engine detection (Unity, Unreal, Minecraft, Custom)
  • โœ… Configuration file parsing (JSON, INI, Properties, XML)
  • โœ… Port usage pattern recognition
  • โœ… Command line argument analysis
  • โœ… Confidence scoring for detection reliability

Configuration Wizard System:

  • โœ… Interactive 5-step wizard with progress tracking
  • โœ… Real-time game analysis with visual feedback
  • โœ… Drag-and-drop file upload interface
  • โœ… Dynamic configuration options based on detected patterns
  • โœ… Expert mode with advanced overrides
  • โœ… Environment variable management

Template & Community System:

  • โœ… Template creation and sharing infrastructure
  • โœ… Community profile contribution system
  • โœ… Rating and voting system for community profiles
  • โœ… Search and filtering for game templates
  • โœ… Usage tracking and popularity metrics

Expert Controls:

  • โœ… Manual override for all detected settings
  • โœ… Advanced file system configuration
  • โœ… Environment variable management
  • โœ… Custom command line arguments
  • โœ… Working directory and log file customization

Backend Infrastructure:

  • โœ… Complete ICustomGameService with pattern detection
  • โœ… CustomGamesController with comprehensive API endpoints
  • โœ… File upload handling with security validation
  • โœ… Game analysis engine with confidence scoring
  • โœ… Configuration management and persistence

Universal Game Intelligence:

  • โœ… Support for ANY game with dedicated server capability
  • โœ… Automatic detection of 20+ common game patterns
  • โœ… Engine-specific configuration templates
  • โœ… Community-driven game profile database
  • โœ… Expert fallback for unsupported games

๐Ÿšฆ Next Steps (Story 1.5)

Story 1.4 complete! Epic 1 nearing completion with:

  1. Auto-Optimization Engine - Hardware-based automatic server optimization
  2. Real-time Communication - SignalR integration for live deployment updates
  3. Advanced Server Monitoring - Performance metrics and health monitoring
  4. Plugin System Foundation - Basic plugin installation and management
  5. Epic 2 Preparation - Community Infrastructure foundation

๐Ÿค Contributing

This project follows the team-fullstack methodology with comprehensive documentation and AI-friendly architecture patterns. See the docs/ directory for detailed specifications.

๐Ÿ“„ License

[License details to be added]


HomeHost: Transforming gaming server management from complex technical tasks into magical, community-driven experiences. ๐ŸŽฎโœจ

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages