# zairziyamdun/-akyl- architecture

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

- Interactive diagram: https://gitdiagram.com/zairziyamdun/-akyl-
- Repository: https://github.com/zairziyamdun/-akyl-

## Overview

AKYL is a web platform for professional apartment-building management methodology, combining public educational content, practical analysis tools, a journal, consultations, and role-based user/editor/admin areas. The main user path is to explore the methodology and tools, then request a consultation or sign in to access materials and subscriptions; editors and admins manage journal issues and accounts. Backend route/controller wiring is sampled, while several frontend and domain capabilities are represented from the README and file tree; those unsampled links are kept at subsystem level.

Main entry points: [`backend/src/app.ts`](https://github.com/zairziyamdun/-akyl-/blob/main/backend/src/app.ts) (Express API), [`backend/src/config/supabase.ts`](https://github.com/zairziyamdun/-akyl-/blob/main/backend/src/config/supabase.ts) (Supabase services), [`frontend/src/app/tools/page.tsx`](https://github.com/zairziyamdun/-akyl-/blob/main/frontend/src/app/tools/page.tsx) (Digital tools), [`backend/src/modules/consultation/consultation.routes.ts`](https://github.com/zairziyamdun/-akyl-/blob/main/backend/src/modules/consultation/consultation.routes.ts) (Consultation requests)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_public["Public platform"]
  node_site["Public site<br/>[page.tsx]"]
  node_methodology["Management methodology<br/>[page.tsx]"]
  node_learning["Learning and implementation<br/>[page.tsx]"]
  node_knowledge["Knowledge library<br/>[page.tsx]"]
  node_consultation["Consultation form"]
end

subgraph group_tools["Analysis tools"]
  node_tools_page["Digital tools<br/>[page.tsx]"]
  node_ieu["IEU calculator<br/>[calculateIEU.ts]"]
  node_budget["Budget analysis<br/>[budgetAnalysis.ts]"]
  node_checklists["Checklists and reports<br/>[page.tsx]"]
end

subgraph group_accounts["Accounts and journal"]
  node_auth_pages["Sign-in and registration<br/>[page.tsx]"]
  node_user_area["User cabinet<br/>[page.tsx]"]
  node_studio["Journal studio<br/>[page.tsx]"]
  node_admin["Admin cabinet<br/>[page.tsx]"]
  node_journal_public["Public journal<br/>[page.tsx]"]
end

subgraph group_backend["Backend services"]
  node_api["Express API<br/>[app.ts]"]
  node_auth_module["Authentication<br/>[auth.routes.ts]"]
  node_journal_module["Journal lifecycle<br/>[journal.routes.ts]"]
  node_consult_module["Consultation requests"]
  node_subscription_module["Subscriptions"]
  node_admin_module["User administration"]
end

subgraph group_integrations["External services"]
  node_supabase[("Supabase services<br/>[supabase.ts]")]
  node_telegram(("Telegram Bot API"))
end

node_visitor(("Visitor"))

node_visitor -->|"opens"| node_site
node_visitor -->|"explores"| node_methodology
node_visitor -->|"explores"| node_learning
node_visitor -->|"browses"| node_knowledge
node_visitor -->|"uses"| node_tools_page
node_visitor -->|"submits"| node_consultation
node_visitor -->|"signs in"| node_auth_pages
node_visitor -->|"reads"| node_journal_public
node_tools_page -->|"offers"| node_ieu
node_tools_page -->|"offers"| node_budget
node_tools_page -->|"offers"| node_checklists
node_auth_pages -->|"calls API"| node_api
node_user_area -->|"calls API"| node_api
node_studio -->|"calls API"| node_api
node_admin -->|"calls API"| node_api
node_journal_public -->|"loads issues"| node_api
node_api -->|"dispatches"| node_auth_module
node_api -->|"dispatches"| node_journal_module
node_api -->|"dispatches"| node_consult_module
node_api -->|"dispatches"| node_subscription_module
node_api -->|"dispatches"| node_admin_module
node_auth_module -->|"auth and profiles"| node_supabase
node_journal_module -->|"issues and files"| node_supabase
node_subscription_module -->|"subscription data"| node_supabase
node_admin_module -->|"user data"| node_supabase
node_consult_module -->|"request data"| node_supabase
node_consult_module -.->|"optional notification"| node_telegram

click node_site "https://github.com/zairziyamdun/-akyl-/blob/main/frontend/src/app/page.tsx"
click node_methodology "https://github.com/zairziyamdun/-akyl-/blob/main/frontend/src/app/mzhd/page.tsx"
click node_learning "https://github.com/zairziyamdun/-akyl-/blob/main/frontend/src/app/education/page.tsx"
click node_knowledge "https://github.com/zairziyamdun/-akyl-/blob/main/frontend/src/app/library/page.tsx"
click node_consultation "https://github.com/zairziyamdun/-akyl-/blob/main/frontend/src/features/submit-consultation/ui/ConsultationForm.tsx"
click node_tools_page "https://github.com/zairziyamdun/-akyl-/blob/main/frontend/src/app/tools/page.tsx"
click node_ieu "https://github.com/zairziyamdun/-akyl-/blob/main/frontend/src/features/calculate-ieu/calculateIEU.ts"
click node_budget "https://github.com/zairziyamdun/-akyl-/blob/main/frontend/src/features/analyze-budget/budgetAnalysis.ts"
click node_checklists "https://github.com/zairziyamdun/-akyl-/blob/main/frontend/src/app/tools/checklists/page.tsx"
click node_auth_pages "https://github.com/zairziyamdun/-akyl-/blob/main/frontend/src/app/(auth)/login/page.tsx"
click node_user_area "https://github.com/zairziyamdun/-akyl-/blob/main/frontend/src/app/app/page.tsx"
click node_studio "https://github.com/zairziyamdun/-akyl-/blob/main/frontend/src/app/studio/page.tsx"
click node_admin "https://github.com/zairziyamdun/-akyl-/blob/main/frontend/src/app/admin/page.tsx"
click node_journal_public "https://github.com/zairziyamdun/-akyl-/blob/main/frontend/src/app/journal/page.tsx"
click node_api "https://github.com/zairziyamdun/-akyl-/blob/main/backend/src/app.ts"
click node_auth_module "https://github.com/zairziyamdun/-akyl-/blob/main/backend/src/modules/auth/auth.routes.ts"
click node_journal_module "https://github.com/zairziyamdun/-akyl-/blob/main/backend/src/modules/journal/journal.routes.ts"
click node_consult_module "https://github.com/zairziyamdun/-akyl-/blob/main/backend/src/modules/consultation/consultation.routes.ts"
click node_subscription_module "https://github.com/zairziyamdun/-akyl-/blob/main/backend/src/modules/subscription/subscription.routes.ts"
click node_admin_module "https://github.com/zairziyamdun/-akyl-/blob/main/backend/src/modules/admin/users/admin-users.routes.ts"
click node_supabase "https://github.com/zairziyamdun/-akyl-/blob/main/backend/src/config/supabase.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_site,node_methodology,node_learning,node_knowledge,node_consultation toneBlue
class node_tools_page,node_ieu,node_budget,node_checklists toneAmber
class node_auth_pages,node_user_area,node_studio,node_admin,node_journal_public toneMint
class node_api,node_auth_module,node_journal_module,node_consult_module,node_subscription_module,node_admin_module toneRose
class node_supabase,node_telegram,node_visitor toneIndigo
```

## Components

### Public platform

- [Public site](https://github.com/zairziyamdun/-akyl-/blob/main/frontend/src/app/page.tsx): `frontend/src/app/page.tsx`
- [Management methodology](https://github.com/zairziyamdun/-akyl-/blob/main/frontend/src/app/mzhd/page.tsx): `frontend/src/app/mzhd/page.tsx`
- [Learning and implementation](https://github.com/zairziyamdun/-akyl-/blob/main/frontend/src/app/education/page.tsx): `frontend/src/app/education/page.tsx`
- [Knowledge library](https://github.com/zairziyamdun/-akyl-/blob/main/frontend/src/app/library/page.tsx): `frontend/src/app/library/page.tsx`
- [Consultation form](https://github.com/zairziyamdun/-akyl-/blob/main/frontend/src/features/submit-consultation/ui/ConsultationForm.tsx): `frontend/src/features/submit-consultation/ui/ConsultationForm.tsx`

### Analysis tools

- [Digital tools](https://github.com/zairziyamdun/-akyl-/blob/main/frontend/src/app/tools/page.tsx): `frontend/src/app/tools/page.tsx`
- [IEU calculator](https://github.com/zairziyamdun/-akyl-/blob/main/frontend/src/features/calculate-ieu/calculateIEU.ts): `frontend/src/features/calculate-ieu/calculateIEU.ts`
- [Budget analysis](https://github.com/zairziyamdun/-akyl-/blob/main/frontend/src/features/analyze-budget/budgetAnalysis.ts): `frontend/src/features/analyze-budget/budgetAnalysis.ts`
- [Checklists and reports](https://github.com/zairziyamdun/-akyl-/blob/main/frontend/src/app/tools/checklists/page.tsx): `frontend/src/app/tools/checklists/page.tsx`

### Accounts and journal

- [Sign-in and registration](https://github.com/zairziyamdun/-akyl-/blob/main/frontend/src/app/(auth)/login/page.tsx): `frontend/src/app/(auth)/login/page.tsx`
- [User cabinet](https://github.com/zairziyamdun/-akyl-/blob/main/frontend/src/app/app/page.tsx): `frontend/src/app/app/page.tsx`
- [Journal studio](https://github.com/zairziyamdun/-akyl-/blob/main/frontend/src/app/studio/page.tsx): `frontend/src/app/studio/page.tsx`
- [Admin cabinet](https://github.com/zairziyamdun/-akyl-/blob/main/frontend/src/app/admin/page.tsx): `frontend/src/app/admin/page.tsx`
- [Public journal](https://github.com/zairziyamdun/-akyl-/blob/main/frontend/src/app/journal/page.tsx): `frontend/src/app/journal/page.tsx`

### Backend services

- [Express API](https://github.com/zairziyamdun/-akyl-/blob/main/backend/src/app.ts): `backend/src/app.ts`
- [Authentication](https://github.com/zairziyamdun/-akyl-/blob/main/backend/src/modules/auth/auth.routes.ts): `backend/src/modules/auth/auth.routes.ts`
- [Journal lifecycle](https://github.com/zairziyamdun/-akyl-/blob/main/backend/src/modules/journal/journal.routes.ts): `backend/src/modules/journal/journal.routes.ts`
- [Consultation requests](https://github.com/zairziyamdun/-akyl-/blob/main/backend/src/modules/consultation/consultation.routes.ts): `backend/src/modules/consultation/consultation.routes.ts`
- [Subscriptions](https://github.com/zairziyamdun/-akyl-/blob/main/backend/src/modules/subscription/subscription.routes.ts): `backend/src/modules/subscription/subscription.routes.ts`
- [User administration](https://github.com/zairziyamdun/-akyl-/blob/main/backend/src/modules/admin/users/admin-users.routes.ts): `backend/src/modules/admin/users/admin-users.routes.ts`

### External services

- [Supabase services](https://github.com/zairziyamdun/-akyl-/blob/main/backend/src/config/supabase.ts): `backend/src/config/supabase.ts`
- **Telegram Bot API**

### Other components

- **Visitor**

## Connections

- Visitor → Public site: opens
- Visitor → Management methodology: explores
- Visitor → Learning and implementation: explores
- Visitor → Knowledge library: browses
- Visitor → Digital tools: uses
- Visitor → Consultation form: submits
- Visitor → Sign-in and registration: signs in
- Visitor → Public journal: reads
- Digital tools → IEU calculator: offers
- Digital tools → Budget analysis: offers
- Digital tools → Checklists and reports: offers
- Sign-in and registration → Express API: calls API
- User cabinet → Express API: calls API
- Journal studio → Express API: calls API
- Admin cabinet → Express API: calls API
- Public journal → Express API: loads issues
- Express API → Authentication: dispatches
- Express API → Journal lifecycle: dispatches
- Express API → Consultation requests: dispatches
- Express API → Subscriptions: dispatches
- Express API → User administration: dispatches
- Authentication → Supabase services: auth and profiles
- Journal lifecycle → Supabase services: issues and files
- Subscriptions → Supabase services: subscription data
- User administration → Supabase services: user data
- Consultation requests → Supabase services: request data
- Consultation requests → Telegram Bot API: optional notification
