# jatinbrandshow/akg architecture

> Architecture diagram of the GitHub repository jatinbrandshow/akg, 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/jatinbrandshow/akg
- Repository: https://github.com/jatinbrandshow/akg

## Overview

This is a Next.js university website with a public information portal and an administrative content-management area. Visitors browse admissions, academic programs, research, campus life, placements, news, and student services; administrators manage page content and other institutional records. The sampled department pages directly render application and informational components, while PageDataManager and the notice service make API requests. The README only describes the Next.js starter; broader capabilities are inferred from the route and component tree, and their detailed wiring was not sampled.

Main entry points: [`src/pages`](https://github.com/jatinbrandshow/akg/tree/main/src/pages) (Public routes), [`src/pages/main/department-of-electronics-and-communication-engineering.js`](https://github.com/jatinbrandshow/akg/blob/main/src/pages/main/department-of-electronics-and-communication-engineering.js) (Department page), [`src/pages/admin`](https://github.com/jatinbrandshow/akg/tree/main/src/pages/admin) (Admin workspace), [`src/pages/admin/Components/PageDataManager.js`](https://github.com/jatinbrandshow/akg/blob/main/src/pages/admin/Components/PageDataManager.js) (Page content manager)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_public["Public portal"]
  node_public_routes["Public routes"]
  node_home["University homepage<br/>[index.js]"]
  node_dynamic_route["Dynamic route<br/>[&#91;...slug&#93;.js]"]
  node_main_pages["Institutional pages"]
  node_program_page["Department page"]
end

subgraph group_content["Page content"]
  node_page_components["Reusable sections"]
  node_application_form["Program inquiry form<br/>[CSEForm.js]"]
  node_apply_guidance["Application guidance<br/>[HowToApply.js]"]
  node_highlights["Highlights slider<br/>[HighlightSlider.js]"]
  node_page_data["Page datasets"]
end

subgraph group_admin["Administration"]
  node_admin_routes["Admin workspace"]
  node_page_manager["Page content manager<br/>[PageDataManager.js]"]
  node_permission_hook["Permission checks<br/>[usePermission.js]"]
  node_notice_admin["Notice management<br/>[index.js]"]
end

subgraph group_integration["API integration"]
  node_notice_service["Notice service<br/>[noticeService.js]"]
  node_api_config["API configuration<br/>[config.js]"]
end

node_visitor(("Visitor"))
node_admin_user(("Administrator"))
node_backend["University API"]

node_visitor -->|"browses"| node_public_routes
node_public_routes -->|"serves home"| node_home
node_public_routes -->|"matches slugs"| node_dynamic_route
node_public_routes -->|"serves pages"| node_main_pages
node_main_pages -->|"includes programs"| node_program_page
node_program_page -->|"renders"| node_application_form
node_program_page -->|"renders"| node_apply_guidance
node_program_page -->|"renders"| node_highlights
node_admin_user -->|"uses"| node_admin_routes
node_admin_routes -->|"provides editor"| node_page_manager
node_admin_routes -->|"provides notices"| node_notice_admin
node_page_manager -->|"sends page changes"| node_backend
node_permission_hook -->|"fetches permissions"| node_backend
node_notice_admin -->|"manages notices"| node_notice_service
node_notice_service -->|"requests notice data"| node_backend
node_page_manager -->|"reads API URL"| node_api_config
node_notice_service -->|"reads API URL"| node_api_config
node_permission_hook -->|"reads API URL"| node_api_config

click node_public_routes "https://github.com/jatinbrandshow/akg/tree/main/src/pages"
click node_home "https://github.com/jatinbrandshow/akg/blob/main/src/pages/index.js"
click node_dynamic_route "https://github.com/jatinbrandshow/akg/blob/main/src/pages/%5B...slug%5D.js"
click node_main_pages "https://github.com/jatinbrandshow/akg/tree/main/src/pages/main"
click node_program_page "https://github.com/jatinbrandshow/akg/blob/main/src/pages/main/department-of-electronics-and-communication-engineering.js"
click node_page_components "https://github.com/jatinbrandshow/akg/tree/main/src/Components"
click node_application_form "https://github.com/jatinbrandshow/akg/blob/main/src/Components/CSEForm.js"
click node_apply_guidance "https://github.com/jatinbrandshow/akg/blob/main/src/Components/HowToApply.js"
click node_highlights "https://github.com/jatinbrandshow/akg/blob/main/src/Components/HighlightSlider.js"
click node_page_data "https://github.com/jatinbrandshow/akg/tree/main/src/Json"
click node_admin_routes "https://github.com/jatinbrandshow/akg/tree/main/src/pages/admin"
click node_page_manager "https://github.com/jatinbrandshow/akg/blob/main/src/pages/admin/Components/PageDataManager.js"
click node_permission_hook "https://github.com/jatinbrandshow/akg/blob/main/src/hooks/usePermission.js"
click node_notice_admin "https://github.com/jatinbrandshow/akg/blob/main/src/pages/admin/notice-list/index.js"
click node_notice_service "https://github.com/jatinbrandshow/akg/blob/main/src/services/noticeService.js"
click node_api_config "https://github.com/jatinbrandshow/akg/blob/main/src/configs/config.js"

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_public_routes,node_home,node_dynamic_route,node_main_pages,node_program_page toneBlue
class node_page_components,node_application_form,node_apply_guidance,node_highlights,node_page_data toneAmber
class node_admin_routes,node_page_manager,node_permission_hook,node_notice_admin,node_backend toneMint
class node_notice_service,node_api_config toneRose
class node_visitor,node_admin_user toneIndigo
```

## Components

### Public portal

- [Public routes](https://github.com/jatinbrandshow/akg/tree/main/src/pages): `src/pages`
- [University homepage](https://github.com/jatinbrandshow/akg/blob/main/src/pages/index.js): `src/pages/index.js`
- [Dynamic route](https://github.com/jatinbrandshow/akg/blob/main/src/pages/%5B...slug%5D.js): `src/pages/[...slug].js`
- [Institutional pages](https://github.com/jatinbrandshow/akg/tree/main/src/pages/main): `src/pages/main`
- [Department page](https://github.com/jatinbrandshow/akg/blob/main/src/pages/main/department-of-electronics-and-communication-engineering.js): `src/pages/main/department-of-electronics-and-communication-engineering.js`

### Page content

- [Reusable sections](https://github.com/jatinbrandshow/akg/tree/main/src/Components): `src/Components`
- [Program inquiry form](https://github.com/jatinbrandshow/akg/blob/main/src/Components/CSEForm.js): `src/Components/CSEForm.js`
- [Application guidance](https://github.com/jatinbrandshow/akg/blob/main/src/Components/HowToApply.js): `src/Components/HowToApply.js`
- [Highlights slider](https://github.com/jatinbrandshow/akg/blob/main/src/Components/HighlightSlider.js): `src/Components/HighlightSlider.js`
- [Page datasets](https://github.com/jatinbrandshow/akg/tree/main/src/Json): `src/Json`

### Administration

- [Admin workspace](https://github.com/jatinbrandshow/akg/tree/main/src/pages/admin): `src/pages/admin`
- [Page content manager](https://github.com/jatinbrandshow/akg/blob/main/src/pages/admin/Components/PageDataManager.js): `src/pages/admin/Components/PageDataManager.js`
- [Permission checks](https://github.com/jatinbrandshow/akg/blob/main/src/hooks/usePermission.js): `src/hooks/usePermission.js`
- [Notice management](https://github.com/jatinbrandshow/akg/blob/main/src/pages/admin/notice-list/index.js): `src/pages/admin/notice-list/index.js`

### API integration

- [Notice service](https://github.com/jatinbrandshow/akg/blob/main/src/services/noticeService.js): `src/services/noticeService.js`
- [API configuration](https://github.com/jatinbrandshow/akg/blob/main/src/configs/config.js): `src/configs/config.js`

### Other components

- **Visitor**
- **Administrator**
- **University API**

## Connections

- Visitor → Public routes: browses
- Public routes → University homepage: serves home
- Public routes → Dynamic route: matches slugs
- Public routes → Institutional pages: serves pages
- Institutional pages → Department page: includes programs
- Department page → Program inquiry form: renders
- Department page → Application guidance: renders
- Department page → Highlights slider: renders
- Administrator → Admin workspace: uses
- Admin workspace → Page content manager: provides editor
- Admin workspace → Notice management: provides notices
- Page content manager → University API: sends page changes
- Permission checks → University API: fetches permissions
- Notice management → Notice service: manages notices
- Notice service → University API: requests notice data
- Page content manager → API configuration: reads API URL
- Notice service → API configuration: reads API URL
- Permission checks → API configuration: reads API URL
