# gus027/bjj-system architecture

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

- Interactive diagram: https://gitdiagram.com/gus027/bjj-system
- Repository: https://github.com/gus027/bjj-system

## Overview

BjjSystem is an Angular interface for a Brazilian jiu-jitsu academy. The visible workflow starts at the application shell, routes a user to a login form, and—after valid form input—navigates to a dashboard. The route table also exposes student, attendance, event, post, and notification screens. Dashboard values are explicitly mock data; the sampled files show no backend or persistence integration. Several screen implementations are represented by their indexed source files, but their behavior and connections could not be verified from excerpts.

Main entry points: [`src/app/app.routes.ts`](https://github.com/gus027/bjj-system/blob/main/src/app/app.routes.ts) (Application routes), [`src/app/app.component.ts`](https://github.com/gus027/bjj-system/blob/main/src/app/app.component.ts) (Root shell), [`src/app/auth/login/login.component.ts`](https://github.com/gus027/bjj-system/blob/main/src/app/auth/login/login.component.ts) (Login form), [`src/app/dashboard/dashboard/dashboard.component.ts`](https://github.com/gus027/bjj-system/blob/main/src/app/dashboard/dashboard/dashboard.component.ts) (Dashboard)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_app["Application shell"]
  node_bootstrap["Application bootstrap<br/>[main.ts]"]
  node_shell["Root shell<br/>[app.component.ts]"]
  node_routes["Application routes<br/>[app.routes.ts]"]
end

subgraph group_access["Access"]
  node_auth_routes["Auth routes"]
  node_auth_service["Auth service<br/>[auth.service.ts]"]
  node_login["Login form<br/>[login.component.ts]"]
end

subgraph group_overview["Dashboard"]
  node_dashboard_routes["Dashboard routes"]
  node_dashboard["Dashboard"]
  node_cards["Dashboard cards<br/>[cards.component.ts]"]
  node_sidebar["Dashboard sidebar"]
end

subgraph group_management["Academy screens"]
  node_students["Students"]
  node_attendance["Attendance"]
  node_events["Events"]
  node_posts["Posts<br/>[posts.component.ts]"]
  node_notifications["Notifications"]
end

node_user(("User"))

node_user -->|"opens app"| node_shell
node_bootstrap -->|"bootstraps"| node_shell
node_bootstrap -->|"provides routes"| node_routes
node_shell -.->|"hosts outlet"| node_routes
node_routes -->|"loads login"| node_login
node_routes -->|"loads dashboard"| node_dashboard
node_routes -->|"loads screen"| node_students
node_routes -->|"loads screen"| node_attendance
node_routes -->|"loads screen"| node_events
node_routes -->|"loads screen"| node_posts
node_routes -->|"loads screen"| node_notifications
node_auth_routes -->|"routes to"| node_login
node_dashboard_routes -->|"routes to"| node_dashboard
node_login -->|"navigates on valid form"| node_dashboard

click node_bootstrap "https://github.com/gus027/bjj-system/blob/main/src/main.ts"
click node_shell "https://github.com/gus027/bjj-system/blob/main/src/app/app.component.ts"
click node_routes "https://github.com/gus027/bjj-system/blob/main/src/app/app.routes.ts"
click node_auth_routes "https://github.com/gus027/bjj-system/blob/main/src/app/auth/auth-routing.module.ts"
click node_auth_service "https://github.com/gus027/bjj-system/blob/main/src/app/auth/auth.service.ts"
click node_login "https://github.com/gus027/bjj-system/blob/main/src/app/auth/login/login.component.ts"
click node_dashboard_routes "https://github.com/gus027/bjj-system/blob/main/src/app/dashboard/dashboard-routing.module.ts"
click node_dashboard "https://github.com/gus027/bjj-system/blob/main/src/app/dashboard/dashboard/dashboard.component.ts"
click node_cards "https://github.com/gus027/bjj-system/blob/main/src/app/dashboard/cards/cards.component.ts"
click node_sidebar "https://github.com/gus027/bjj-system/blob/main/src/app/dashboard/sidebar/sidebar.component.ts"
click node_students "https://github.com/gus027/bjj-system/blob/main/src/app/pages/alunos/alunos.component.ts"
click node_attendance "https://github.com/gus027/bjj-system/blob/main/src/app/pages/presenca/presenca.component.ts"
click node_events "https://github.com/gus027/bjj-system/blob/main/src/app/pages/eventos/eventos.component.ts"
click node_posts "https://github.com/gus027/bjj-system/blob/main/src/app/pages/posts/posts.component.ts"
click node_notifications "https://github.com/gus027/bjj-system/blob/main/src/app/pages/notificacoes/notificacoes.component.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_bootstrap,node_shell,node_routes,node_user toneBlue
class node_auth_routes,node_auth_service,node_login toneAmber
class node_dashboard_routes,node_dashboard,node_cards,node_sidebar toneMint
class node_students,node_attendance,node_events,node_posts,node_notifications toneRose
```

## Components

### Application shell

- [Application bootstrap](https://github.com/gus027/bjj-system/blob/main/src/main.ts): `src/main.ts`
- [Root shell](https://github.com/gus027/bjj-system/blob/main/src/app/app.component.ts): `src/app/app.component.ts`
- [Application routes](https://github.com/gus027/bjj-system/blob/main/src/app/app.routes.ts): `src/app/app.routes.ts`

### Access

- [Auth routes](https://github.com/gus027/bjj-system/blob/main/src/app/auth/auth-routing.module.ts): `src/app/auth/auth-routing.module.ts`
- [Auth service](https://github.com/gus027/bjj-system/blob/main/src/app/auth/auth.service.ts): `src/app/auth/auth.service.ts`
- [Login form](https://github.com/gus027/bjj-system/blob/main/src/app/auth/login/login.component.ts): `src/app/auth/login/login.component.ts`

### Dashboard

- [Dashboard routes](https://github.com/gus027/bjj-system/blob/main/src/app/dashboard/dashboard-routing.module.ts): `src/app/dashboard/dashboard-routing.module.ts`
- [Dashboard](https://github.com/gus027/bjj-system/blob/main/src/app/dashboard/dashboard/dashboard.component.ts): `src/app/dashboard/dashboard/dashboard.component.ts`
- [Dashboard cards](https://github.com/gus027/bjj-system/blob/main/src/app/dashboard/cards/cards.component.ts): `src/app/dashboard/cards/cards.component.ts`
- [Dashboard sidebar](https://github.com/gus027/bjj-system/blob/main/src/app/dashboard/sidebar/sidebar.component.ts): `src/app/dashboard/sidebar/sidebar.component.ts`

### Academy screens

- [Students](https://github.com/gus027/bjj-system/blob/main/src/app/pages/alunos/alunos.component.ts): `src/app/pages/alunos/alunos.component.ts`
- [Attendance](https://github.com/gus027/bjj-system/blob/main/src/app/pages/presenca/presenca.component.ts): `src/app/pages/presenca/presenca.component.ts`
- [Events](https://github.com/gus027/bjj-system/blob/main/src/app/pages/eventos/eventos.component.ts): `src/app/pages/eventos/eventos.component.ts`
- [Posts](https://github.com/gus027/bjj-system/blob/main/src/app/pages/posts/posts.component.ts): `src/app/pages/posts/posts.component.ts`
- [Notifications](https://github.com/gus027/bjj-system/blob/main/src/app/pages/notificacoes/notificacoes.component.ts): `src/app/pages/notificacoes/notificacoes.component.ts`

### Other components

- **User**

## Connections

- User → Root shell: opens app
- Application bootstrap → Root shell: bootstraps (evidence: `src/main.ts`)
- Application bootstrap → Application routes: provides routes (evidence: `src/main.ts`)
- Root shell → Application routes: hosts outlet
- Application routes → Login form: loads login (evidence: `src/app/app.routes.ts`)
- Application routes → Dashboard: loads dashboard (evidence: `src/app/app.routes.ts`)
- Application routes → Students: loads screen (evidence: `src/app/app.routes.ts`)
- Application routes → Attendance: loads screen (evidence: `src/app/app.routes.ts`)
- Application routes → Events: loads screen (evidence: `src/app/app.routes.ts`)
- Application routes → Posts: loads screen (evidence: `src/app/app.routes.ts`)
- Application routes → Notifications: loads screen (evidence: `src/app/app.routes.ts`)
- Auth routes → Login form: routes to (evidence: `src/app/auth/auth-routing.module.ts`)
- Dashboard routes → Dashboard: routes to (evidence: `src/app/dashboard/dashboard-routing.module.ts`)
- Login form → Dashboard: navigates on valid form (evidence: `src/app/auth/login/login.component.ts`)
