- Rename data/cards/ to data/raw/ for scraped data - Add data/definitions/ as authoritative card data source - Add convert_cards.py script to transform raw -> definitions - Generate 378 card definitions (344 Pokemon, 24 Trainers, 10 Energy) - Add CardService for loading and querying card definitions - In-memory indexes for fast lookups by type, set, pokemon_type - search() with multiple filter criteria - get_all_cards() for GameEngine integration - Add SetInfo model for set metadata - Update Attack model with damage_display field for variable damage - Update CardDefinition with image_path, illustrator, flavor_text - Add 45 tests (21 converter + 24 CardService) - Update scraper output path to data/raw/ Card data is JSON-authoritative (no database) to support offline fork goal.
24 lines
617 B
Python
24 lines
617 B
Python
"""Service layer for Mantimon TCG.
|
|
|
|
Services contain business logic and coordinate between:
|
|
- Core game engine
|
|
- Database persistence
|
|
- Redis caching
|
|
- External APIs
|
|
|
|
Services in this module:
|
|
- GameStateManager: Redis-primary, Postgres-backup game state management
|
|
- CardService: Load and lookup card definitions from bundled JSON
|
|
"""
|
|
|
|
from app.services.card_service import CardService, SetInfo, get_card_service
|
|
from app.services.game_state_manager import GameStateManager, game_state_manager
|
|
|
|
__all__ = [
|
|
"CardService",
|
|
"GameStateManager",
|
|
"SetInfo",
|
|
"game_state_manager",
|
|
"get_card_service",
|
|
]
|