Wanjohi e1a903a7c9 feat(core): Implement Steam library sync with metadata extraction and image processing (#278)
## Description
<!-- Briefly describe the purpose and scope of your changes -->


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Added AWS queue infrastructure and SQS handler for processing Steam
game libraries and images.
- Introduced event-driven handling for new credentials and game
additions, including image uploads to S3.
- Added client functions to fetch Steam user libraries, friends lists,
app info, and related images.
- Added new database columns and schema updates to track game
acquisition, playtime, and family sharing.
  - Added utility function for chunking arrays.
- Added new event notifications for library queue processing and game
creation.
  - Added new lookup functions for categories and teams by slug.
- Introduced a new Team API with endpoints to list and fetch teams by
slug.
  - Added a new Steam library page displaying game images.

- **Enhancements**
  - Improved game creation with event notifications and upsert logic.
  - Enhanced category and team retrieval with new lookup functions.
  - Renamed and refined image categories for clearer classification.
  - Expanded dependencies for image processing and AWS SDK integration.
- Improved image processing utilities with caching, ranking, and
metadata extraction.
  - Refined Steam client utilities for concurrency and error handling.

- **Bug Fixes**
- Fixed event publishing timing and removed deprecated credential
retrieval methods.

- **Chores**
- Updated infrastructure configurations with increased timeouts, memory,
and resource linking.
- Added new dependencies for image processing, caching, and AWS SDK
clients.
  - Refined internal code structure and imports for clarity.
  - Removed Steam provider and related UI components from the frontend.
- Disabled authentication providers and Steam-related routes in the
frontend.
  - Updated API fetch handler to accept environment bindings.

- **Refactor**
- Simplified query result handling and renamed functions for better
clarity.
- Removed outdated event handler in favor of consolidated event
subscriber.
- Consolidated and simplified database relationships and permission
queries.

- **Tests**
  - No explicit test changes included in this release.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-17 00:51:18 +03:00
2025-01-29 04:16:27 +03:00
2025-01-29 04:16:27 +03:00
2024-08-20 15:12:00 +03:00
2024-10-27 05:12:05 +03:00

   

Nestri is an open-source, self-hosted Geforce Now alternative with Stadia's social features. Built and shaped by our gaming community.

Share the Nestri Repository on Social Media

   

Note

Nestri is more closer (in feature comparison) to Jellyfin/Plex than Moonlight. Our goal is to develop a comprehensive self-hosted cloud gaming solution for your home server.

Features

  • Save and share your game progress easily with friends
  • Simultaneously run multiple games on your GPU using Virtio-GPU Venus and/or Virgl
  • Play games using either your integrated GPU or dedicated GPU
  • Enjoy titles from your preferred Game Stores - Steam, Epic Games, Amazon Games, GOG.com
  • Experience Android gaming
  • Organize gaming sessions with friends and family through Nestri Parties
  • Stream directly to YouTube and Twitch straight from your setup
  • Family sharing capabilities
  • Support for Controller, Touchscreen, Keyboard, and Mouse devices

Possible Use Cases

  • Organize game nights or LAN parties with friends online or locally
  • For game developers, showcase your proof-of-concept multiplayer games for testing without installation
  • Create and manage your custom cloud-gaming platform using our robust API
  • Establish a game server for your family to enjoy gaming on the go

Goals

  • Provide a user-friendly setup - fire and forget
  • Deliver a simple and elegant interface for managing and playing your game library
  • Ensure a high-quality gaming experience out-of-the-box
  • Optimize for the best gaming performance right from the start

Non-Goals

  • Become a generic cloud-gaming service

Built With

  • Cloudflare Workers
  • Cloudflare Pages
  • Supabase
  • CrosVM (with Virtio-GPU Venus and Virgl support)
  • Docker
  • Qwik
  • Media-Over-Quic
  • AWS Route53

Known Issues

  • CrosVM is still under development and needs to be merged
  • Currently, the Intel dGPU, particularly the Arc A780, is the only tested and verified GPU

Donation

If you appreciate our work and wish to support the development of Nestri, consider making a donation here. Your contributions will help us improve the platform and enhance your gaming experience. Thank you for your support!

Demo

Nestri is still in development, but here is some footage from Behind-The-Scenes

Nestri - What will you play next?
Description
[Experimental] Open-source GeForce NOW alternative with Stadia's social features
Readme 180 MiB
Languages
TypeScript 73%
Go 11.9%
Rust 9.5%
Shell 2%
CSS 1.4%
Other 2.1%