Components
Detailed documentation of Divekit’s core components and their interactions.
This document describes the core components of Divekit and how they interact.
Components Overview
graph TB subgraph interfaces CLI[CLI Interface] WebUI[Web Interface] end style WebUI stroke-dasharray: 5 5 subgraph core[Modules] ModuleEntry(( )) style ModuleEntry fill:none,stroke:none Config[Configuration Manager] GitAdapter[GitLab Adapter] Indiv[Individualization] Pass[Passchecker] Plag[Plagiarism Checker] User[Usermanagement] end CLI --> ModuleEntry WebUI -.-> ModuleEntry Pass --> GitAdapter Plag --> GitAdapter User --> GitAdapter GitAdapter --> GitLab[GitLab API]
Interfaces
- CLI Interface: Central command-line interface for all user interactions
- Web Interface (planned): Alternative user interface that uses the same modules as the CLI
Modules
- Configuration Manager: Manages all configuration files and user settings
- GitLab Adapter: Central component for all GitLab interactions
- 🚧 Individualization: Handles the individualization of tasks
- 🚧 Passchecker: Checks submissions and communicates with GitLab
- 🚧 Plagiarism Checker: Detects possible plagiarism and interacts with GitLab
- 🚧 Usermanagement: Manages users and their permissions through GitLab
Last modified January 17, 2025: refactor more (5c372af)