# kiroooo-arch/it-faculty-scheduling-system architecture

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

- Interactive diagram: https://gitdiagram.com/kiroooo-arch/it-faculty-scheduling-system
- Repository: https://github.com/kiroooo-arch/it-faculty-scheduling-system

## Overview

This repository describes a planned scheduling product; it does not contain the frontend, backend, or AI-engine source named in the README. The graph therefore represents documented responsibilities and workflow, not verified runtime calls. The database schema is present, but implementation-level connections cannot be established from the available excerpts.

Main entry points: [`README.md`](https://github.com/kiroooo-arch/it-faculty-scheduling-system/blob/main/README.md) (Schedule generation), [`databasse/schema.sql`](https://github.com/kiroooo-arch/it-faculty-scheduling-system/blob/main/databasse/schema.sql) (Scheduling database)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_users["Users and review"]
  node_review["Schedule review and approval<br/>[README.md]"]
end

subgraph group_management["Scheduling data"]
  node_management["Record management<br/>[README.md]"]
  node_availability["Availability<br/>[README.md]"]
  node_curriculum["Curriculum and subjects<br/>[README.md]"]
  node_rooms["Rooms and labs<br/>[README.md]"]
end

subgraph group_generation["Schedule generation"]
  node_generation["Schedule generation<br/>[README.md]"]
  node_conflicts["Conflict detection<br/>[README.md]"]
  node_reports["Schedule reports<br/>[README.md]"]
  node_ai["Constraint solver<br/>[README.md]"]
end

subgraph group_platform["Planned platform"]
  node_database[("Scheduling database<br/>[schema.sql]")]
  node_api["REST API<br/>[README.md]"]
  node_frontend["Web application<br/>[README.md]"]
end

node_admin(("Administrator"))
node_head(("Department head"))
node_faculty(("Faculty"))

node_admin -->|"manages"| node_management
node_admin -->|"generates"| node_generation
node_faculty -->|"submits"| node_availability
node_faculty -->|"views schedules"| node_frontend
node_head -->|"reviews schedules"| node_review
node_head -->|"monitors"| node_conflicts
node_generation -->|"uses constraints"| node_ai
node_ai -.->|"reads scheduling data"| node_database
node_generation -->|"detects conflicts"| node_conflicts
node_generation -.->|"produces schedules"| node_reports
node_frontend -.->|"uses REST API"| node_api
node_api -.->|"stores records"| node_database

click node_management "https://github.com/kiroooo-arch/it-faculty-scheduling-system/blob/main/README.md"
click node_availability "https://github.com/kiroooo-arch/it-faculty-scheduling-system/blob/main/README.md"
click node_curriculum "https://github.com/kiroooo-arch/it-faculty-scheduling-system/blob/main/README.md"
click node_rooms "https://github.com/kiroooo-arch/it-faculty-scheduling-system/blob/main/README.md"
click node_database "https://github.com/kiroooo-arch/it-faculty-scheduling-system/blob/main/databasse/schema.sql"
click node_api "https://github.com/kiroooo-arch/it-faculty-scheduling-system/blob/main/README.md"
click node_generation "https://github.com/kiroooo-arch/it-faculty-scheduling-system/blob/main/README.md"
click node_conflicts "https://github.com/kiroooo-arch/it-faculty-scheduling-system/blob/main/README.md"
click node_reports "https://github.com/kiroooo-arch/it-faculty-scheduling-system/blob/main/README.md"
click node_review "https://github.com/kiroooo-arch/it-faculty-scheduling-system/blob/main/README.md"
click node_frontend "https://github.com/kiroooo-arch/it-faculty-scheduling-system/blob/main/README.md"
click node_ai "https://github.com/kiroooo-arch/it-faculty-scheduling-system/blob/main/README.md"

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_review toneBlue
class node_management,node_availability,node_curriculum,node_rooms toneAmber
class node_generation,node_conflicts,node_reports,node_ai toneMint
class node_database,node_api,node_frontend toneRose
class node_admin,node_head,node_faculty toneIndigo
```

## Components

### Users and review

- [Schedule review and approval](https://github.com/kiroooo-arch/it-faculty-scheduling-system/blob/main/README.md): `README.md`

### Scheduling data

- [Record management](https://github.com/kiroooo-arch/it-faculty-scheduling-system/blob/main/README.md): `README.md`
- [Availability](https://github.com/kiroooo-arch/it-faculty-scheduling-system/blob/main/README.md): `README.md`
- [Curriculum and subjects](https://github.com/kiroooo-arch/it-faculty-scheduling-system/blob/main/README.md): `README.md`
- [Rooms and labs](https://github.com/kiroooo-arch/it-faculty-scheduling-system/blob/main/README.md): `README.md`

### Schedule generation

- [Schedule generation](https://github.com/kiroooo-arch/it-faculty-scheduling-system/blob/main/README.md): `README.md`
- [Conflict detection](https://github.com/kiroooo-arch/it-faculty-scheduling-system/blob/main/README.md): `README.md`
- [Schedule reports](https://github.com/kiroooo-arch/it-faculty-scheduling-system/blob/main/README.md): `README.md`
- [Constraint solver](https://github.com/kiroooo-arch/it-faculty-scheduling-system/blob/main/README.md): `README.md`

### Planned platform

- [Scheduling database](https://github.com/kiroooo-arch/it-faculty-scheduling-system/blob/main/databasse/schema.sql): `databasse/schema.sql`
- [REST API](https://github.com/kiroooo-arch/it-faculty-scheduling-system/blob/main/README.md): `README.md`
- [Web application](https://github.com/kiroooo-arch/it-faculty-scheduling-system/blob/main/README.md): `README.md`

### Other components

- **Administrator**
- **Department head**
- **Faculty**

## Connections

- Administrator → Record management: manages (evidence: `README.md`)
- Administrator → Schedule generation: generates (evidence: `README.md`)
- Faculty → Availability: submits (evidence: `README.md`)
- Faculty → Web application: views schedules (evidence: `README.md`)
- Department head → Schedule review and approval: reviews schedules (evidence: `README.md`)
- Department head → Conflict detection: monitors (evidence: `README.md`)
- Schedule generation → Constraint solver: uses constraints (evidence: `README.md`)
- Constraint solver → Scheduling database: reads scheduling data
- Schedule generation → Conflict detection: detects conflicts (evidence: `README.md`)
- Schedule generation → Schedule reports: produces schedules
- Web application → REST API: uses REST API
- REST API → Scheduling database: stores records
