Full-stack application
Thesis Management System
A thesis management portal connecting students, lecturers, and administrators through one academic workflow.
Problem and requirements
Thesis administration involves multiple people, statuses, documents, schedules, and academic decisions. Without a central workflow, students have limited visibility into their next step, lecturers struggle to monitor supervision, and administrators must reconcile information across separate communication channels.
SITA provides a public portal and role-based workspaces for this process. Students manage thesis projects, documents, schedules, notifications, and supervision communication. Lecturers monitor students, review documents, schedule supervision, and communicate directly. Administrators and programme coordinators receive management and monitoring tools within their authority.
Application implementation
The backend uses Laravel 12, while the frontend uses Inertia v2, React 19, TypeScript, and Tailwind CSS 4. The domain model separates thesis projects, title submissions, proposals, documents, revisions, supervisor assignments, supervision schedules, proposal seminars, defenses, examiners, notifications, and audit logs.
The administration panel uses Filament to accelerate development of resources, tables, filters, search, and administrative actions without rebuilding the same CRUD patterns. Resources continue to use application services and domain rules, preventing the admin panel from bypassing workflow validation.
The academic workflow uses explicit statuses and transition rules so decisions do not depend only on frontend buttons. Title changes, proposal submissions, document reviews, seminar and defense scheduling, revision outcomes, and finalisation each have defined actors and access boundaries.
Real-time collaboration
Laravel Reverb and Echo power real-time supervision chat between students and lecturers. Chat threads support document attachments, message notifications, unread state, private threads, and access isolation based on supervision or defense assignments.
In-app notifications cover workflow changes, new messages, deadline reminders, system announcements, and user preferences. The portal also provides guidance pages that administrators can manage and customise for each study programme.
Deployment and verification
The Docker stack separates the database, migration init, PHP-FPM, Nginx, queue worker, scheduler, and the Reverb WebSocket server. The CI/CD pipeline verifies the application, builds app and web images to GHCR, and uses a Docker Compose deployment script with migrations, cache optimisation, service restarts, and health checks.
The production target uses aaPanel with Nginx, PHP-FPM, and MariaDB/MySQL. Dedicated deployment scripts install PHP and frontend dependencies, run migrations, build assets, set storage permissions, refresh Laravel caches, and manage the queue worker, scheduler, and Reverb. Nginx configuration and diagnostic scripts are included so server requirements and deployment failures can be checked consistently.
Testing includes Pest coverage for authentication, role access, domain workflows, seeders, services, and database behaviour, plus Playwright coverage for multi-role flows such as dashboards, documents, supervision chat, notifications, and session isolation.





