# app/routers/info.py from fastapi import APIRouter, HTTPException from app.services.berlin_data_service import BerlinDataService router = APIRouter(tags=["info"]) # Services berlin_data = BerlinDataService() @router.get("/neighborhoods") async def get_neighborhoods(): """Get all Berlin neighborhoods with green space statistics.""" try: neighborhoods = await berlin_data.get_neighborhood_stats() return neighborhoods except Exception as e: raise HTTPException(status_code=500, detail=f"Failed to get neighborhoods: {str(e)}") @router.get("/personalities") async def get_personality_descriptions(): """Get descriptions of all personality types and their preferences.""" return { "personalities": [ { "id": "little_adventurers", "name": "Little Adventurers", "description": "Families with kids seeking safe, fun spaces", "key_factors": ["playgrounds", "safety", "toilets", "shade", "family_activities"], "icon": "🧸" }, { "id": "date_night", "name": "Date Night", "description": "Couples seeking romantic, peaceful settings", "key_factors": ["scenery", "quiet", "romantic_spots", "restaurants", "privacy"], "icon": "💕" }, { "id": "squad_goals", "name": "Squad Goals", "description": "Friend groups needing space for gatherings", "key_factors": ["large_space", "group_activities", "accessibility", "nearby_food"], "icon": "🎉" }, { "id": "zen_masters", "name": "Zen Masters", "description": "Peace seekers wanting tranquil environments", "key_factors": ["quietness", "nature", "meditation_spots", "low_crowds"], "icon": "🧘" }, { "id": "active_lifestyle", "name": "Active Lifestyle", "description": "Fitness enthusiasts seeking exercise opportunities", "key_factors": ["running_paths", "fitness_equipment", "cycling", "sports_areas"], "icon": "🏃" }, { "id": "wildlife_lover", "name": "Wildlife Lover", "description": "Nature enthusiasts seeking animal encounters", "key_factors": ["wildlife_diversity", "bird_watching", "natural_habitats", "quiet_observation"], "icon": "🦋" }, { "id": "art_nerd", "name": "Art Nerd", "description": "Culture lovers seeking artistic inspiration", "key_factors": ["museums_nearby", "artistic_installations", "cultural_venues", "creative_atmosphere"], "icon": "🎨" }, { "id": "history_geek", "name": "History Geek", "description": "History buffs seeking sites with historical significance", "key_factors": ["historical_sites", "monuments", "cultural_heritage", "educational_value"], "icon": "🏛️" } ] }