How I digitized the intake of university internship and stay documents with Laravel
University document management system · Role: Full Stack Developer (Laravel) · Development team · Agile methodology
Summary
Together with the team, I built a system for students to upload their internship and academic stay documents, and for administrators to review and track them by group and program. The system had to be ready before the semester closed and support 300 students uploading simultaneously.
100%
System delivered before the semester closed
500
Students across 4 programs using the system
300
Simultaneous file uploads supported
Database and backend
- I designed and optimized SQL queries and database relationships to support simultaneous file uploads during the semester close.
- I structured the business logic into reusable services using Laravel's service container and object-oriented programming.
- I validated file type, size, and format with Form Requests before storing them.
- I used Laravel collections to filter and group information by group, program, and status.
- I standardized backend responses using API resources.
Security and permissions
- I implemented JWT authentication and middleware to protect the routes.
- I set up role-based access control (RBAC) with Laravel policies, so each student could only access their own documents while administrators managed their area through the same endpoints.
Features
- I built the document upload forms for students.
- I built the collection lists CRUD, with advanced sorting and filtering by group and program.
- I implemented the per-document status flow (pending, under review, approved, rejected) with admin feedback to the student.
- I built reminders so students would upload their documents on time, sent by email with scheduled notifications.
Quality
- I wrote unit tests with PHPUnit and behavior specs with PhpSpec.
- I applied Clean Code principles so the system would stay maintainable for future semesters.
