A backend service aggregating PlayStation Network and Steam gaming data through their official APIs. Provides unified endpoints for tracking game progress, achievements and trophies across platforms.
Current Status: 🚧 In active development - Core PSN/Steam integrations working, more features and documentation WIP
Live Demo using these APIs (frontend here): Gaming Profile
- 📦 PSN user authentication & trophy data fetching
- 🎮 Steam game library & achievements tracking
- ⚡ Redis caching for high-performance queries
- 🌉 Cross-platform gaming progress aggregation
✅ PSN Authentication & Trophy Title Listing
✅ Steam Game Library Retrieval
✅ Basic Caching Mechanism
🛠️ More APIs implementation
🛠️ Rate Limiting for API Endpoints
🛠️ Comprehensive API Documentation
🛠️ Better Error Handling
- Go 1.22
- Redis
Install redis first:
sudo apt update
sudo apt install redis-server
sudo service redis-server start
Clone the repository and run the application:
git clone [email protected]:camtrik/ebbilogue-backend.git
# Set up env, set your own IDs or tokens
cp .env.example .env
make run
How to get PSN refresh token: here
How to get steam api key: here
http://localhost:7071/api/psn/:accountId/trophyTitles
Get user's PSN trophy titles with filtering and pagination options.
Query Parameters:
limit
: Number of items per pageoffset
: Starting positionplatform
: Filter by platform (e.g., PS4, PS5)minProgress
: Filter by minimum trophy completion percentagesortBy
: Sort results by ("lastUpdated" or "progress")
http://localhost:7071/api/steam/:steamId/ownedGames
Get user's owned Steam games.
http://localhost:7071/api/steam/:steamId/playerAchievements/:appId
Get achievements for a specific game.
http://localhost:7071/api/steam/:steamId/playerGameDetails
Get detailed information about player's games including achievements and playtime, game logo & banner art.
Query Parameters:
minPlayTime
: Filter games by minimum playtimesortByTime
: Sort games by playtime (true/false)