Riot Integration Service is a backend service built with FastAPI that integrates Riot Games APIs to retrieve and persist player and match data.
The project is designed as a data ingestion backend and can be used as a reference implementation for:
- API integration
- backend service design
- database persistence with migrations
- microservice-oriented architecture
- Lookup players by Riot ID (
gameName+tagLine) - Retrieve match history by PUUID
- Persist matches and participants into PostgreSQL
- Idempotent data import to avoid duplicates
- Schema evolution managed through Alembic migrations
- Python, FastAPI
- PostgreSQL
- SQLAlchemy ORM
- Alembic (database migrations)
- httpx (HTTP client for Riot APIs)
The service exposes REST endpoints that:
- Fetch data from Riot Games APIs
- Map external API responses to internal domain models
- Persist normalized data into a relational database
The project follows a modular structure to keep API, database models, and service logic clearly separated.
This project was developed as a personal backend project to:
- practice real-world API integration
- work with relational data modeling
- manage schema changes safely over time
- design a maintainable backend service using modern Python tools
Requirements: Python 3.10+, PostgreSQL
- Clone the repository
- Create and activate a virtual environment
- Install dependencies
- Configure environment variables
- Run database migrations with Alembic
- Start the FastAPI application
This project is intended as a learning and portfolio project and not as a production-ready service.