How piyush2676/dissertation-management-system works
This Spring Boot application manages a dissertation from topic proposal and guide placement through versioned milestone submissions, review, evaluation, viva and results. The README documents these domain stages and the feature-oriented controller/service/repository architecture; sampled source confirms key submission, allocation, review, readiness and AI behaviors. Audit and notification listeners, provenance, and other major capabilities are represented as distinct branches. Some subsystem links are omitted where the available excerpts do not establish exact call ownership.
Main entry points: submission Versioned submissions · allocation Guide allocation · audit Audit trail · review Review comments
Components 24
Dissertation workflow
- Topic proposals
src/main/java/com/dms/topic - Faculty title bank
src/main/java/com/dms/titlebank - Guide allocation
src/main/java/com/dms/allocation - Versioned submissions
src/main/java/com/dms/submission - Upload storage
src/main/java/com/dms/storage - Review comments
src/main/java/com/dms/review - Logbook
src/main/java/com/dms/logbook - Change requests
src/main/java/com/dms/change
Oversight and outcomes
- Research outcomes
src/main/java/com/dms/outcome - Review panels
src/main/java/com/dms/panel - Rubric evaluation
src/main/java/com/dms/evaluation - Viva scheduling
src/main/java/com/dms/viva - Readiness ledger
src/main/java/com/dms/readiness - Reports and exports
src/main/java/com/dms/export - Audit trail
src/main/java/com/dms/audit - Tamper-evident certificates
src/main/java/com/dms/provenance
AI and discovery
- Advisory AI features
src/main/java/com/dms/ai - Role-aware search
src/main/java/com/dms/search
Identity and platform
- Accounts and authentication
src/main/java/com/dms/account - Notification feed
src/main/java/com/dms/notification
Other components
- Student, guide, coordinator
- PostgreSQL
- Local disk
- SMTP email
Connections 38
- Student, guide, coordinator → Topic proposals: proposes topic
- Faculty title bank → Topic proposals: informs proposals
- Topic proposals → Guide allocation: approved topic
- Student, guide, coordinator → Guide allocation: requests guide
- Guide allocation → Versioned submissions: enables filing
- Versioned submissions → Upload storage: stores uploads
- Student, guide, coordinator → Versioned submissions: files milestones
- Versioned submissions → Review comments: provides versions
- Student, guide, coordinator → Review comments: comments, resolves
- Student, guide, coordinator → Logbook: records activity
- Student, guide, coordinator → Change requests: requests change
- Student, guide, coordinator → Research outcomes: reports research
- Student, guide, coordinator → Review panels: appoints reviewers
- Review panels → Rubric evaluation: scores allocation
- Student, guide, coordinator → Rubric evaluation: records marks
- Rubric evaluation → Viva scheduling: supports progression
- Versioned submissions → Readiness ledger: supplies deliverable evidence
- Research outcomes → Readiness ledger: supplies verified evidence
- Rubric evaluation → Readiness ledger: supplies marks evidence
- Readiness ledger → Viva scheduling: reports eligibility
- Student, guide, coordinator → Viva scheduling: schedules viva
- Student, guide, coordinator → Reports and exports: requests reports
- PostgreSQL → Audit trail: stores audit records
- Versioned submissions → Audit trail: publishes domain events
- Guide allocation → Audit trail: publishes domain events
- Review comments → Audit trail: publishes domain events
- Versioned submissions → Notification feed: publishes domain events
- Guide allocation → Notification feed: publishes domain events
- Review comments → Notification feed: publishes domain events
- Audit trail → Tamper-evident certificates: rebuilds history
- Student, guide, coordinator → Advisory AI features: requests advice
- Versioned submissions → Advisory AI features: indexes submissions
- Student, guide, coordinator → Role-aware search: searches records
- Accounts and authentication → PostgreSQL: persists accounts and tokens
- Student, guide, coordinator → Accounts and authentication: authenticates
- Accounts and authentication → SMTP email: sends mail
- Versioned submissions → PostgreSQL: persists versions and metadata
- Upload storage → Local disk: writes and reads files