Backend part of TyriaVault made with FastAPI (Python)
- RESTful API with FastAPI
- Database with PostgreSQL and SQLAlchemy
- Cache System with Redis (optional) or InMemory fallback
- GW2 API Integration for game data
- Automated Crawlers for periodic data updates
The application supports two cache backends:
Add the REDIS_URL to your .env file:
REDIS_URL=redis://localhost:6379/0If Redis connection fails or is not configured, the application automatically falls back to InMemory cache.
If REDIS_URL is not set, the application uses an InMemory cache backend automatically.
Unit tests always use InMemory cache for speed and isolation:
pytest app/tests/unitIntegration tests use Redis via Docker Compose:
# Windows
run_integration_tests.bat
# Linux/Mac
./run_integration_tests.sh