How karanam-gowtham/fms works
FMS is an academic document-governance platform. Staff and students enter through the web front controller to authenticate, submit evidence, and move submissions through configurable review and approval; administrators govern users, departments, and workflows. Separate product branches provide NBA/NAAC accreditation dossiers, student-activity tracking, and public research analytics. The graph preserves core PDF and workflow services identified in the source index. Some subsystem connections are documented in the README rather than demonstrated in sampled controller code; those edges cite the README.
Main entry points: index.php Request router · DocumentController.php Document management · workflow_engine.php Approval engine · DocumentActionController.php Document actions
Components 18
Web entry and security
- Request router
public/index.php - Input validation
src/Core/Request.php - Authentication
core/auth.php
Document governance
- Document management
src/Controllers/DocumentController.php - Document actions
src/Controllers/DocumentActionController.php - Approval engine
core/workflow_engine.php - File handling
core/file_service.php - Document lifecycle
core/document_service.php - Workflow administration
src/Controllers/WorkflowController.php
Accreditation and reports
- Accreditation APIs
src/Controllers/AbstractAccreditationAPIController.php - Dossier generation
core/accreditation_pdf_service.php - PDF merging
core/pdf_merger_service.php - PDF normalization
core/pdf_normalizer.php
Portals and analytics
- Student activities
src/Controllers/StudentActivityDashboardController.php - Research analytics
index.php - Public statistics API
public/api/public_stats.php
Other components
- Browser users
- Relational database
Connections 19
- Browser users → Request router: sends requests
- Request router → Document management: routes requests
public/index.php - Request router → Document actions: routes actions
public/index.php - Request router → Authentication: dispatches auth
- Request router → Input validation: validates input
- Document management → Input validation: reads filters
src/Controllers/DocumentController.php - Document management → File handling: uses file service
src/Controllers/DocumentController.php - Document management → Approval engine: uses workflow
src/Controllers/DocumentController.php - Document actions → Approval engine: executes transitions
src/Controllers/DocumentActionController.php - Document actions → File handling: stores files
- Workflow administration → Approval engine: configures approvals
- Approval engine → Relational database: reads and updates
core/workflow_engine.php - Document management → Document lifecycle: manages lifecycle
- Accreditation APIs → Dossier generation: generates dossiers
- Dossier generation → PDF merging: merges proofs
core/accreditation_pdf_service.php - Dossier generation → PDF normalization: normalizes PDFs
core/accreditation_pdf_service.php - Browser users → Student activities: views activity
- Browser users → Research analytics: views research
index.php - Research analytics → Public statistics API: fetches statistics
index.php