@if (project) {
{{ project.code }} @if (project.inDevelopment) { ● {{ i18n.t().fpInDevelopment }} }

{{ project.title }}

@if (project.images && project.images.length > 0) {
@if (getCurrentImage(); as currentImg) { @if (!imageErrors()[currentImg]) { } @else {
◧ {{ project.code }}
} } @else {
◧ {{ project.code }}
}
@if (project.images.length > 1) { } } @else {
◧ {{ project.code }}

{{ project.title }}

{{ i18n.t().fpNoImagesTechnical }}

🏛 {{ project.institution }} 🔒 Autenticación JWT & RBAC ⚡ Clean Architecture (.NET + Angular) 📊 Trazabilidad & Auditoría CACES
}
{{ project.institution }} {{ project.subtitle }}

{{ project.description }}

{{ i18n.t().projectDetailChallenge }}

{{ project.challenge }}

{{ i18n.t().projectDetailSolution }}

{{ project.solution }}

{{ i18n.t().projectDetailResults }}

    @for (result of project.results; track result) {
  • {{ result }}
  • }
@for (tag of project.tags; track tag) { {{ tag }} }
}