App web familiar de rutinas visuales para niños con TDAH: muestra cada día el material del cole y las rutinas de tarde, con gamificación por monedas y tienda de recompensas. Multi-niño y bilingüe ES/CA. Uso doméstico/homelab. Backend (Spring Boot 3.5 / Java 21 / Gradle): - Dominio por capas, PostgreSQL + Liquibase, datos semilla. - API REST con DTOs: /today, toggle con monedas y bonos de bloque/día, monedero, tienda/canje, ajustes y CRUD del panel de padres. - Seguridad ligera por PIN (BCrypt + sesion en memoria), sin Keycloak. - Tests JUnit: generacion del dia, monedas/bonos con reversion, canje, seguridad. Frontend (Angular 19, standalone + signals): - Perfiles, Home (Tablero y Foco), Tienda y panel de padres (5 pestañas). - Tipografia OpenDyslexic conmutable (accesibilidad), i18n ES/CA, TTS y sonido. - Tokens de diseño fieles al handoff (paleta, animaciones, monedas voladoras). Empaquetado: - Docker multi-stage + docker-compose (PostgreSQL + backend + Nginx). - Decisiones de arquitectura documentadas en docs/adr.
16 lines
602 B
TypeScript
16 lines
602 B
TypeScript
import { Component, inject } from '@angular/core';
|
|
import { RouterOutlet } from '@angular/router';
|
|
import { FontPreferenceService } from './core/font-preference.service';
|
|
|
|
/** Componente raíz: monta el router. La navegación arranca en Perfiles. */
|
|
@Component({
|
|
selector: 'app-root',
|
|
imports: [RouterOutlet],
|
|
template: '<router-outlet />',
|
|
})
|
|
export class AppComponent {
|
|
// Inyectar el servicio fuerza su inicialización: aplica la preferencia de
|
|
// tipografía (OpenDyslexic por defecto) sobre <html> al arrancar la app.
|
|
private readonly fontPreference = inject(FontPreferenceService);
|
|
}
|