The Library Instruction System is a Laravel 11 web application designed to streamline the process of scheduling and managing library instruction sessions between faculty and librarians within the Portland Community College network.
- Originally: Laravel 8, Infyom Generator, AdminLTE, Yajra DataTables
- Current: Laravel 11, Livewire 3, Tailwind CSS, Livewire PowerGrid 6.1
- Request viewing and management
- Status updates across multiple states
- File attachments for various document types
- Basic dashboard functionality
- Instruction request creation
- Editing existing requests
- Copying existing requests
- Custom Blade components
- Alpine.js for frontend interactions
- Spatie Media Library for file management
- Standard Laravel authentication
- Faculty submits instruction request
- System creates/links instructor record
- Request enters
received
status - Librarians can:
- View requests
- Assign requests
- Accept requests
- Mark requests complete
- Reject or copy requests
received
: Initial stateassigned
: Librarian assignedaccepted
: Librarian confirmedcompleted
: Session finishedcopied
: Request duplicated
-
InstructionRequests
: Central model- Relates to Instructor
- Relates to Classes
- Relates to Campus
- Associated with
InstructionRequestDetails
-
Instructor
: Faculty representation -
User
: Librarian accounts (manually created)
Supports file collections with the following specifications:
- Plain text (.txt)
- Rich Text Format (.rtf)
- Portable Document Format (.pdf)
- Microsoft Word Documents (.doc, .docx)
- Microsoft PowerPoint Presentations (.ppt, .pptx)
- Maximum file size: 8 MB per file
- File collections:
- Course syllabi
- Instructor attachments
- Teaching materials
- Assessment documents
Provides notifications for:
- Request received
- Request assigned
- Request accepted
- Request rejected
- Standard Laravel authentication
- Manual user creation
- No role-based access control
- Framework: Laravel 11
- PHP Version: 8.2+
- Timezone: America/Los_Angeles
- Date Format: YYYY-MM-DD H:i:s
- Access: Internal VPN network
- PHP 8.2+
- Composer dependencies
- Node.js 18+ for frontend compilation