A modern MERN stack application for managing your game library and getting intelligent recommendations on what to play next.
- Dual Library Sources: Sync games from Steam API or scan your local disk for installed games
- Playtime Tracking: Monitor and analyze your gaming habits with comprehensive statistics
- Smart Recommendations: AI-powered suggestions based on:
- Backlog games (least played titles)
- Genre preferences
- Neglected games you haven't played recently
- Beautiful UI: Modern dark theme with glassmorphism effects and smooth animations
- Fully Responsive: Optimized for desktop, tablet, and mobile devices
- Node.js with Express.js
- MongoDB for data storage
- JWT authentication
- Steam Web API integration
- Local file system scanning
- React (with Vite)
- React Router for navigation
- Axios for API calls
- Recharts for data visualization
- Modern CSS with custom properties and animations
- Node.js (v16 or higher)
- MongoDB (running locally or MongoDB Atlas)
- npm or yarn
- Navigate to the server directory:
cd server- Install dependencies:
npm install- Create a
.envfile in theserverdirectory (copy from.env.example):
MONGODB_URI=mongodb://localhost:27017/game-library
JWT_SECRET=your_jwt_secret_key
PORT=5000
STEAM_API_KEY=your_steam_api_key_optional
GAME_SCAN_PATHS=/home/your-username/.steam/steam/steamapps/common,/home/your-username/Games- Start MongoDB (if running locally):
sudo systemctl start mongodb- Start the backend server:
npm run devThe backend will run on http://localhost:5000
- Navigate to the client directory:
cd client- Install dependencies:
npm install- Start the development server:
npm run devThe frontend will run on http://localhost:5173
- Navigate to the homepage
- Click "Get Started" or "Sign Up"
- Enter your details and optionally select your favorite game genres
Option A: Steam Integration
- Get your Steam API key from https://steamcommunity.com/dev/apikey
- Get your Steam ID (64-bit) from your profile
- Update your preferences with Steam credentials
- Click "Sync Steam" in the library page
Option B: Local Scanning
- Click "Scan Local" in the library page
- The system will scan common game installation directories
- Found games will be automatically added to your library
Option C: Manual Entry
- Use the API to manually add games with custom details
- See total games count and playtime statistics
- View top genres from your library
- Check your most played games
- Navigate to the Recommendations page
- View personalized game suggestions with explanations
- Each recommendation shows why it was suggested
- Visit https://steamcommunity.com/dev/apikey
- Create an API key (you'll need a Steam account)
- Add the key to your
.envfile or update it in your user preferences
Edit the GAME_SCAN_PATHS in your .env file to include custom game directories:
GAME_SCAN_PATHS=/path/to/steam/common,/path/to/epic/games,/path/to/customThe application features:
- Clean, modern dark theme
- Glassmorphism card designs
- Smooth animations and transitions
- Responsive layouts for all screen sizes
- Interactive data visualizations
POST /api/auth/register- Register new userPOST /api/auth/login- Login userGET /api/auth/profile- Get user profilePUT /api/auth/preferences- Update user preferences
GET /api/games- Get all user gamesPOST /api/games/sync-steam- Sync from SteamPOST /api/games/scan-local- Scan local diskPOST /api/games- Add game manuallyPUT /api/games/:id- Update gameDELETE /api/games/:id- Delete game
GET /api/recommendations- Get game recommendationsGET /api/recommendations/stats- Get library statistics
- Ensure MongoDB is running:
sudo systemctl status mongodb - Check the connection string in
.env
- Verify your Steam API key is valid
- Ensure your Steam profile is public
- Check if you have the correct Steam ID (64-bit format)
- Update
GAME_SCAN_PATHSwith your actual game directories - Ensure the application has read permissions for those directories
ISC
Built with โค๏ธ using the MERN stack