# daniel-494847/agilmente architecture

> Architecture diagram of the GitHub repository daniel-494847/agilmente, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-27). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/daniel-494847/agilmente
- Repository: https://github.com/daniel-494847/agilmente

## Overview

Ágilmente is an educational learning platform. Its principal user flow is navigation into the dashboard and reasoning activities, with attempt records providing a separate progress-tracking capability. Other major branches cover digital-library materials, notices and gallery content, institutional information, student profiles, and administration. Route-level wiring is visible in the sampled files; most page-to-service calls are not, so those links are omitted. Firebase-backed service behavior is shown where the sampled source supports it.

Main entry points: [`src/app/app.routes.ts`](https://github.com/daniel-494847/agilmente/blob/main/src/app/app.routes.ts) (Route map), [`src/app/app.ts`](https://github.com/daniel-494847/agilmente/blob/main/src/app/app.ts) (App shell), [`src/app/features/shared/content.service.ts`](https://github.com/daniel-494847/agilmente/blob/main/src/app/features/shared/content.service.ts) (Shared content access), [`src/app/features/dashboard/dashboard.ts`](https://github.com/daniel-494847/agilmente/blob/main/src/app/features/dashboard/dashboard.ts) (Dashboard)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_learning["Learning experience"]
  node_app["App shell<br/>[app.ts]"]
  node_routes["Route map<br/>[app.routes.ts]"]
  node_dashboard["Dashboard<br/>[dashboard.ts]"]
  node_activities["Reasoning activities<br/>[activities.ts]"]
  node_activitygames["Activity games"]
  node_progress["Progress tracking<br/>[progress.module.ts]"]
  node_attempts["Attempt records"]
end

subgraph group_content["Content and resources"]
  node_library["Digital library<br/>[biblioteca.ts]"]
  node_announcements["Notices<br/>[avisos.module.ts]"]
  node_gallery["Gallery<br/>[gallery.ts]"]
  node_institution["School information"]
  node_sectionpages["Section pages<br/>[section-page.ts]"]
end

subgraph group_account["Accounts and administration"]
  node_login["Login<br/>[login.ts]"]
  node_profile["Student profile<br/>[perfil.module.ts]"]
  node_admin["Administration<br/>[admin.ts]"]
  node_rolecheck["Role lookup"]
  node_guards["Route guards<br/>[route-guards.ts]"]
end

subgraph group_data["Data services"]
  node_activityservice["Activity catalog"]
  node_libraryservice["Library service"]
  node_contentservice["Content service"]
  node_sharedcontent["Shared content access<br/>[content.service.ts]"]
  node_institutionservice["Institution service"]
end

node_visitor(("User"))
node_firebaseauth["Firebase Auth"]
node_firestore[("Cloud Firestore")]
node_storage[("Cloud Storage")]

node_visitor -->|"opens"| node_app
node_app -->|"hosts navigation"| node_routes
node_routes -->|"loads"| node_dashboard
node_routes -->|"loads"| node_activities
node_routes -->|"loads"| node_progress
node_routes -->|"loads"| node_library
node_routes -->|"loads"| node_announcements
node_routes -->|"loads"| node_gallery
node_routes -->|"loads"| node_institution
node_routes -->|"loads"| node_profile
node_routes -->|"routes to"| node_login
node_routes -->|"routes to"| node_sectionpages
node_routes -->|"routes to"| node_admin
node_routes -->|"checks access"| node_guards
node_dashboard -->|"presents games"| node_activitygames
node_activityservice -->|"reads and writes"| node_firestore
node_libraryservice -->|"reads and writes"| node_firestore
node_contentservice -->|"reads and writes"| node_firestore
node_sharedcontent -->|"reads and writes"| node_firestore
node_sharedcontent -->|"uploads files"| node_storage
node_attempts -->|"records attempts"| node_firestore
node_institutionservice -->|"reads and writes"| node_firestore
node_rolecheck -->|"reads user role"| node_firestore
node_app -->|"observes auth state"| node_firebaseauth

click node_app "https://github.com/daniel-494847/agilmente/blob/main/src/app/app.ts"
click node_routes "https://github.com/daniel-494847/agilmente/blob/main/src/app/app.routes.ts"
click node_dashboard "https://github.com/daniel-494847/agilmente/blob/main/src/app/features/dashboard/dashboard.ts"
click node_activities "https://github.com/daniel-494847/agilmente/blob/main/src/app/features/activities/activities.ts"
click node_activitygames "https://github.com/daniel-494847/agilmente/tree/main/src/app/features/dashboard/components/juegos"
click node_progress "https://github.com/daniel-494847/agilmente/blob/main/src/app/features/progress/progress.module.ts"
click node_attempts "https://github.com/daniel-494847/agilmente/blob/main/src/app/features/progress/attempts.service.ts"
click node_library "https://github.com/daniel-494847/agilmente/blob/main/src/app/features/biblioteca/biblioteca.ts"
click node_announcements "https://github.com/daniel-494847/agilmente/blob/main/src/app/features/contenido/avisos.module.ts"
click node_gallery "https://github.com/daniel-494847/agilmente/blob/main/src/app/features/gallery/gallery.ts"
click node_institution "https://github.com/daniel-494847/agilmente/blob/main/src/app/features/unidad-educativa/unidad-educativa.module.ts"
click node_sectionpages "https://github.com/daniel-494847/agilmente/blob/main/src/app/features/shared/section-page/section-page.ts"
click node_login "https://github.com/daniel-494847/agilmente/blob/main/src/app/features/auth/login/login.ts"
click node_profile "https://github.com/daniel-494847/agilmente/blob/main/src/app/features/auth/perfil.module.ts"
click node_admin "https://github.com/daniel-494847/agilmente/blob/main/src/app/features/admin/admin.ts"
click node_rolecheck "https://github.com/daniel-494847/agilmente/blob/main/src/app/features/auth/user-role.service.ts"
click node_guards "https://github.com/daniel-494847/agilmente/blob/main/src/app/features/shared/route-guards.ts"
click node_activityservice "https://github.com/daniel-494847/agilmente/blob/main/src/app/features/activities/activities.service.ts"
click node_libraryservice "https://github.com/daniel-494847/agilmente/blob/main/src/app/features/biblioteca/biblioteca.service.ts"
click node_contentservice "https://github.com/daniel-494847/agilmente/blob/main/src/app/features/contenido/contenido.service.ts"
click node_sharedcontent "https://github.com/daniel-494847/agilmente/blob/main/src/app/features/shared/content.service.ts"
click node_institutionservice "https://github.com/daniel-494847/agilmente/blob/main/src/app/features/unidad-educativa/unidad-educativa.service.ts"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_app,node_routes,node_dashboard,node_activities,node_activitygames,node_progress,node_attempts,node_visitor toneBlue
class node_library,node_announcements,node_gallery,node_institution,node_sectionpages,node_firestore,node_storage toneAmber
class node_login,node_profile,node_admin,node_rolecheck,node_guards toneMint
class node_activityservice,node_libraryservice,node_contentservice,node_sharedcontent,node_institutionservice toneRose
class node_firebaseauth toneIndigo
```

## Components

### Learning experience

- [App shell](https://github.com/daniel-494847/agilmente/blob/main/src/app/app.ts): `src/app/app.ts`
- [Route map](https://github.com/daniel-494847/agilmente/blob/main/src/app/app.routes.ts): `src/app/app.routes.ts`
- [Dashboard](https://github.com/daniel-494847/agilmente/blob/main/src/app/features/dashboard/dashboard.ts): `src/app/features/dashboard/dashboard.ts`
- [Reasoning activities](https://github.com/daniel-494847/agilmente/blob/main/src/app/features/activities/activities.ts): `src/app/features/activities/activities.ts`
- [Activity games](https://github.com/daniel-494847/agilmente/tree/main/src/app/features/dashboard/components/juegos): `src/app/features/dashboard/components/juegos`
- [Progress tracking](https://github.com/daniel-494847/agilmente/blob/main/src/app/features/progress/progress.module.ts): `src/app/features/progress/progress.module.ts`
- [Attempt records](https://github.com/daniel-494847/agilmente/blob/main/src/app/features/progress/attempts.service.ts): `src/app/features/progress/attempts.service.ts`

### Content and resources

- [Digital library](https://github.com/daniel-494847/agilmente/blob/main/src/app/features/biblioteca/biblioteca.ts): `src/app/features/biblioteca/biblioteca.ts`
- [Notices](https://github.com/daniel-494847/agilmente/blob/main/src/app/features/contenido/avisos.module.ts): `src/app/features/contenido/avisos.module.ts`
- [Gallery](https://github.com/daniel-494847/agilmente/blob/main/src/app/features/gallery/gallery.ts): `src/app/features/gallery/gallery.ts`
- [School information](https://github.com/daniel-494847/agilmente/blob/main/src/app/features/unidad-educativa/unidad-educativa.module.ts): `src/app/features/unidad-educativa/unidad-educativa.module.ts`
- [Section pages](https://github.com/daniel-494847/agilmente/blob/main/src/app/features/shared/section-page/section-page.ts): `src/app/features/shared/section-page/section-page.ts`

### Accounts and administration

- [Login](https://github.com/daniel-494847/agilmente/blob/main/src/app/features/auth/login/login.ts): `src/app/features/auth/login/login.ts`
- [Student profile](https://github.com/daniel-494847/agilmente/blob/main/src/app/features/auth/perfil.module.ts): `src/app/features/auth/perfil.module.ts`
- [Administration](https://github.com/daniel-494847/agilmente/blob/main/src/app/features/admin/admin.ts): `src/app/features/admin/admin.ts`
- [Role lookup](https://github.com/daniel-494847/agilmente/blob/main/src/app/features/auth/user-role.service.ts): `src/app/features/auth/user-role.service.ts`
- [Route guards](https://github.com/daniel-494847/agilmente/blob/main/src/app/features/shared/route-guards.ts): `src/app/features/shared/route-guards.ts`

### Data services

- [Activity catalog](https://github.com/daniel-494847/agilmente/blob/main/src/app/features/activities/activities.service.ts): `src/app/features/activities/activities.service.ts`
- [Library service](https://github.com/daniel-494847/agilmente/blob/main/src/app/features/biblioteca/biblioteca.service.ts): `src/app/features/biblioteca/biblioteca.service.ts`
- [Content service](https://github.com/daniel-494847/agilmente/blob/main/src/app/features/contenido/contenido.service.ts): `src/app/features/contenido/contenido.service.ts`
- [Shared content access](https://github.com/daniel-494847/agilmente/blob/main/src/app/features/shared/content.service.ts): `src/app/features/shared/content.service.ts`
- [Institution service](https://github.com/daniel-494847/agilmente/blob/main/src/app/features/unidad-educativa/unidad-educativa.service.ts): `src/app/features/unidad-educativa/unidad-educativa.service.ts`

### Other components

- **User**
- **Firebase Auth**
- **Cloud Firestore**
- **Cloud Storage**

## Connections

- User → App shell: opens
- App shell → Route map: hosts navigation
- Route map → Dashboard: loads
- Route map → Reasoning activities: loads
- Route map → Progress tracking: loads
- Route map → Digital library: loads
- Route map → Notices: loads
- Route map → Gallery: loads
- Route map → School information: loads
- Route map → Student profile: loads
- Route map → Login: routes to
- Route map → Section pages: routes to
- Route map → Administration: routes to
- Route map → Route guards: checks access
- Dashboard → Activity games: presents games
- Activity catalog → Cloud Firestore: reads and writes
- Library service → Cloud Firestore: reads and writes
- Content service → Cloud Firestore: reads and writes
- Shared content access → Cloud Firestore: reads and writes
- Shared content access → Cloud Storage: uploads files
- Attempt records → Cloud Firestore: records attempts
- Institution service → Cloud Firestore: reads and writes
- Role lookup → Cloud Firestore: reads user role
- App shell → Firebase Auth: observes auth state
