{"id":28655992,"url":"https://github.com/bashlui/heatshield-swift","last_synced_at":"2025-06-13T08:09:42.696Z","repository":{"id":297889524,"uuid":"998136135","full_name":"bashlui/Heatshield-Swift","owner":"bashlui","description":"SwiftUI application developed in the Swift Challenge Fest, focusing on the sustainability and heat-related problems.","archived":false,"fork":false,"pushed_at":"2025-06-10T00:35:09.000Z","size":102,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-10T01:30:47.476Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bashlui.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-07T23:59:41.000Z","updated_at":"2025-06-10T00:35:14.000Z","dependencies_parsed_at":"2025-06-10T01:30:57.470Z","dependency_job_id":null,"html_url":"https://github.com/bashlui/Heatshield-Swift","commit_stats":null,"previous_names":["bashlui/swift-challenge","bashlui/heatshield-swift"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/bashlui/Heatshield-Swift","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bashlui%2FHeatshield-Swift","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bashlui%2FHeatshield-Swift/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bashlui%2FHeatshield-Swift/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bashlui%2FHeatshield-Swift/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bashlui","download_url":"https://codeload.github.com/bashlui/Heatshield-Swift/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bashlui%2FHeatshield-Swift/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259606984,"owners_count":22883563,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-06-13T08:09:37.434Z","updated_at":"2025-06-13T08:09:42.676Z","avatar_url":"https://github.com/bashlui.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🛡️ HeatShield\n\n**Protección Inteligente contra el Calor Extremo**\n\nUna aplicación iOS desarrollada en SwiftUI que protege vidas durante eventos de calor extremo, proporcionando herramientas inteligentes para encontrar refugio, evaluar la preparación del hogar y recibir alertas críticas de seguridad.\n\n## 📱 Características Principales\n\n### 🌡️ **Monitoreo Climático en Tiempo Real**\n- Integración con OpenWeatherMap API\n- Datos meteorológicos actualizados (temperatura, humedad, viento)\n- Índice de calor con niveles de peligro (Seguro, Precaución, Advertencia, Peligro, Extremo)\n- Soporte para Celsius y Fahrenheit\n\n### 🗺️ **Mapa de Zonas Frescas**\n- Localización GPS de refugios cercanos\n- Tipos de zonas: bibliotecas, centros comerciales, hospitales, parques, centros comunitarios\n- Cálculo de distancias en tiempo real\n- Navegación integrada con Apple Maps\n- Indicadores de horarios (24/7 vs horarios limitados)\n\n### 🏠 **Evaluación Térmica del Hogar**\n- Cuestionario interactivo de 8 preguntas\n- Sistema de puntuación inteligente (0-16 puntos)\n- Recomendaciones personalizadas de mejora\n- Estimaciones de ahorro energético\n- Análisis de eficiencia térmica\n\n### ⚠️ **Sistema de Alertas Personalizado**\n- Configuración de umbrales de temperatura\n- Notificaciones push automáticas\n- Estados de peligro por calor en tiempo real\n- Integración con el sistema de notificaciones de iOS\n\n### 📋 **Gestión de Datos**\n- Integración completa con SwiftData\n- Almacenamiento local de registros\n- Interfaz intuitiva para CRUD operations\n- Estadísticas del sistema\n\n### ⚙️ **Configuración Avanzada**\n- Temas adaptativos (claro/oscuro/sistema)\n- Unidades de temperatura configurables\n- Control granular de notificaciones\n- Configuración de sonidos y vibración\n\n## 🏗️ Arquitectura del Proyecto\n\n### 📁 **Estructura de Archivos**\n```\n📁 HeatShield/\n├── 📱 App.swift                    # Entry point + SwiftData container\n├── 🧩 Models.swift                 # Data models \u0026 enums\n├── 🧰 Managers.swift               # Business logic managers\n├── 🎨 DesignSystem.swift           # UI components \u0026 design tokens\n├── 🏠 ContentView.swift            # TabView + Home + SwiftData integration\n├── 🗺️ MapView.swift               # Interactive map with cool zones\n├── 🏠 AssessmentView.swift         # Home thermal assessment\n└── ⚙️ SettingsAlertsView.swift     # Settings \u0026 alerts management\n```\n\n### 🏛️ **Patrón de Arquitectura**\n- **MVVM (Model-View-ViewModel)** con `@ObservableObject`\n- **Managers especializados** para lógica de negocio\n- **Componentes reutilizables** con `@ViewBuilder`\n- **Separación clara de responsabilidades**\n\n## 🛠️ Tecnologías Utilizadas\n\n### 📱 **Frameworks iOS**\n- **SwiftUI** - Interface de usuario declarativa\n- **SwiftData** - Persistencia de datos\n- **CoreLocation** - Servicios de ubicación\n- **MapKit** - Mapas interactivos\n- **UserNotifications** - Notificaciones push\n\n### 🌐 **APIs Externas**\n- **OpenWeatherMap API** - Datos meteorológicos en tiempo real\n- **Apple Maps** - Navegación y direcciones\n\n### 🎨 **UI/UX**\n- **Sistema de diseño personalizado** con tokens consistentes\n- **Gradientes y animaciones** fluidas\n- **SF Symbols** para iconografía\n- **Soporte para Dark Mode**\n- **Diseño responsive** para diferentes tamaños de pantalla\n\n## 🚀 Instalación y Configuración\n\n### 📋 **Requisitos**\n- iOS 16.0+\n- Xcode 15.0+\n- Swift 5.9+\n- Cuenta de desarrollador de Apple\n\n### ⚙️ **Configuración del Proyecto**\n\n1. **Clonar el repositorio:**\n```bash\ngit clone https://github.com/tu-usuario/heatshield.git\ncd heatshield\n```\n\n2. **Configurar API Key de OpenWeatherMap:**\n   - Registrarse en [OpenWeatherMap](https://openweathermap.org/api)\n   - Crear un archivo `Config.plist`:\n```xml\n\u003c?xml version=\"1.0\" encoding=\"UTF-8\"?\u003e\n\u003c!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\"\u003e\n\u003cplist version=\"1.0\"\u003e\n\u003cdict\u003e\n    \u003ckey\u003eWeatherAPIKey\u003c/key\u003e\n    \u003cstring\u003eTU_API_KEY_AQUI\u003c/string\u003e\n\u003c/dict\u003e\n\u003c/plist\u003e\n```\n\n3. **Configurar permisos en Info.plist:**\n```xml\n\u003ckey\u003eNSLocationWhenInUseUsageDescription\u003c/key\u003e\n\u003cstring\u003eNecesitamos tu ubicación para mostrarte las zonas frescas cercanas\u003c/string\u003e\n\u003ckey\u003eNSLocationAlwaysAndWhenInUseUsageDescription\u003c/key\u003e\n\u003cstring\u003eNecesitamos tu ubicación para alertas de emergencia por calor\u003c/string\u003e\n```\n\n4. **Compilar y ejecutar:**\n```bash\n# Abrir en Xcode\nopen HeatShield.xcodeproj\n\n# O usar xcodebuild\nxcodebuild -project HeatShield.xcodeproj -scheme HeatShield -destination 'platform=iOS Simulator,name=iPhone 15'\n```\n\n## 📊 Funcionalidades Detalladas\n\n### 🌡️ **Sistema de Índice de Calor**\n| Temperatura | Índice | Color | Recomendación |\n|-------------|--------|-------|---------------|\n| \u003c 27°C | Seguro | 🟢 Verde | Actividad normal |\n| 27-32°C | Precaución | 🟡 Amarillo | Hidratación frecuente |\n| 32-37°C | Advertencia | 🟠 Naranja | Limitar actividad exterior |\n| 37-42°C | Peligro | 🔴 Rojo | Buscar refugio inmediato |\n| \u003e 42°C | Extremo | 🟣 Morado | Emergencia médica |\n\n### 🏠 **Sistema de Evaluación del Hogar**\n**Categorías evaluadas:**\n- Reflectividad del techo\n- Ventilación cruzada\n- Cortinas térmicas\n- Sombra exterior\n- Aislamiento térmico\n- Sistemas de climatización\n- Vidrios especializados\n- Gestión de aberturas\n\n**Puntuación:**\n- **14-16 puntos:** 🏆 Excelente (Hogar óptimamente preparado)\n- **10-13 puntos:** ⭐ Muy Bueno (Preparación sólida)\n- **6-9 puntos:** 👍 Bueno (Mejoras recomendadas)\n- **3-5 puntos:** ⚠️ Necesita mejoras (Adaptaciones importantes)\n- **0-2 puntos:** 🚨 Crítico (Intervención urgente)\n\n### 🗺️ **Tipos de Zonas Frescas**\n- 📚 **Bibliotecas** - Aire acondicionado gratuito, espacios públicos\n- 🏢 **Centros Comerciales** - Múltiples áreas climatizadas\n- 🏥 **Hospitales** - Disponibilidad 24/7, atención médica\n- 🌳 **Parques** - Áreas sombreadas naturales, fuentes de agua\n- 👥 **Centros Comunitarios** - Refugios oficiales autorizados\n\n## 🔧 Desarrollo y Contribución\n\n### 🏗️ **Estructura de Desarrollo**\n\n```swift\n// Ejemplo de Manager\nclass WeatherManager: ObservableObject {\n    @Published var currentWeather: WeatherData?\n    @Published var isLoading = false\n    @Published var errorMessage: String?\n    \n    func fetchWeather(for location: CLLocation) {\n        // Implementación...\n    }\n}\n\n// Ejemplo de Vista Componente\nstruct WeatherCard: View {\n    @ObservedObject var weatherManager: WeatherManager\n    \n    var body: some View {\n        CardView {\n            // UI implementation...\n        }\n    }\n}\n```\n\n### 🧪 **Testing**\n```bash\n# Ejecutar tests unitarios\nxcodebuild test -project HeatShield.xcodeproj -scheme HeatShield -destination 'platform=iOS Simulator,name=iPhone 15'\n\n# Tests de UI\nxcodebuild test -project HeatShield.xcodeproj -scheme HeatShield -destination 'platform=iOS Simulator,name=iPhone 15' -only-testing:HeatShieldUITests\n```\n\n### 📝 **Convenciones de Código**\n- **Nomenclatura:** PascalCase para tipos, camelCase para variables\n- **Organización:** Grupos por funcionalidad con `// MARK:`\n- **Documentación:** Comentarios Swift para APIs públicas\n- **SwiftLint:** Configuración incluida para consistencia\n\n## 🔮 Roadmap y Funcionalidades Futuras\n\n### 📅 **Versión 1.1**\n- [ ] Widget iOS para temperatura actual\n- [ ] Notificaciones programadas por ubicación\n- [ ] Modo offline con datos en caché\n- [ ] Localización completa (español/inglés)\n\n### 📅 **Versión 1.2**\n- [ ] Apple Watch companion app\n- [ ] Integración con HealthKit\n- [ ] Análisis predictivo de calor\n- [ ] Compartir evaluaciones del hogar\n\n### 📅 **Versión 2.0**\n- [ ] ARKit para visualización de temperatura\n- [ ] Integración con IoT home devices\n- [ ] Comunidad y reportes colaborativos\n- [ ] Machine Learning para recomendaciones personalizadas\n\n## 🛡️ Seguridad y Privacidad\n\n### 🔒 **Principios de Privacidad**\n- **Datos locales:** Toda la información personal se almacena en el dispositivo\n- **Ubicación mínima:** Solo se solicita cuando es necesario\n- **Sin tracking:** No se recopilan datos de comportamiento\n- **Transparencia total:** Política de privacidad clara y accesible\n\n\n## 📄 Licencia\n\nEste proyecto está licenciado bajo la **MIT License** - ver el archivo [LICENSE](LICENSE) para detalles.\n\n## 👥 Contribuidores\n\n- **Luis Antonio Bolaina Dominguez**\n- **Victor Abel Camacho Rodriguez**\n- **Óscar Cardenas Valdez**\n- **Hermann Pauwells Rivera**\n\n## 🙏 Agradecimientos\n\n- **OpenWeatherMap** por proporcionar datos meteorológicos confiables\n- **Apple** por las herramientas de desarrollo iOS\n- **Comunidad SwiftUI** por recursos y inspiración\n- **Organizaciones de salud pública** por investigación sobre eventos de calor extremo\n\n---\n\n**⚠️ Importante:** HeatShield es una herramienta de asistencia y no reemplaza el juicio médico profesional. En caso de emergencia médica, contacta inmediatamente a los servicios de emergencia locales.\n\n---\n\n*Desarrollado con ❤️ para proteger vidas durante eventos de calor extremo*\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbashlui%2Fheatshield-swift","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbashlui%2Fheatshield-swift","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbashlui%2Fheatshield-swift/lists"}