Download the PHP package jjuanrivvera/canvas-lms-kit-laravel without Composer
On this page you can find all versions of the php package jjuanrivvera/canvas-lms-kit-laravel. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download jjuanrivvera/canvas-lms-kit-laravel
More information about jjuanrivvera/canvas-lms-kit-laravel
Files in jjuanrivvera/canvas-lms-kit-laravel
Package canvas-lms-kit-laravel
Short Description Laravel integration for Canvas LMS Kit - Auto-configuration, multi-tenancy, and testing utilities
License MIT
Homepage https://github.com/jjuanrivvera/canvas-lms-kit-laravel
Informations about the package canvas-lms-kit-laravel
Canvas LMS Kit for Laravel
A minimal Laravel integration package for the Canvas LMS Kit. Auto-configure Canvas API access, manage multiple connections, and test with ease.
โจ Features
- ๐ Zero Configuration - Works immediately after installation
- ๐ Multi-Tenant Support - Easily switch between Canvas instances
- ๐งช Testing Utilities - Mock Canvas API calls in your tests
- ๐ฆ Minimal & Focused - Just 500 lines of code that do exactly what you need
- ๐ง Laravel Native - Uses Laravel's config, logging, and testing systems
๐ฆ Installation
โก Quick Start
1. Publish Configuration
2. Add Credentials to .env
3. Test Your Connection
4. Start Using!
๐ฏ Why This Package?
The Problem
Without this package, you need to manually configure Canvas LMS Kit in every controller, job, or service:
The Solution
This package auto-configures everything from your Laravel config:
๐ Usage
Basic Usage
The package automatically configures the Canvas LMS Kit when your application boots. You can immediately use all Canvas API classes:
Multi-Tenant Support
Perfect for SaaS applications managing multiple Canvas instances:
Configure multiple connections in config/canvas.php:
Testing
Mock Canvas API calls in your tests:
Facade Usage (Optional)
If you prefer facades, you can use the Canvas facade:
๐ง Configuration
The configuration file (config/canvas.php) provides extensive customization options:
๐ Authentication Methods
API Key Authentication (Default)
The simplest authentication method using Canvas API tokens:
OAuth 2.0 Authentication
For OAuth-based authentication, switch the auth mode and configure OAuth settings:
User Masquerading (Runtime Only)
Administrators can make API calls as another user (requires appropriate permissions):
๐จ Artisan Commands
Test Connection
Verify your Canvas API connection and see authenticated user info:
๐งช Testing Your Integration
Using Pest (Recommended)
Available Assertions
๐ Real-World Examples
Syncing Users from Laravel to Canvas
Multi-Tenant Course Management
๐ Available Canvas APIs
This package provides auto-configuration for all Canvas LMS Kit APIs. Use them directly:
Core Resources
CanvasLMS\Api\Courses\Course- Course managementCanvasLMS\Api\Users\User- User managementCanvasLMS\Api\Accounts\Account- Account administration
Course Components
CanvasLMS\Api\Enrollments\Enrollment- User enrollmentsCanvasLMS\Api\Assignments\Assignment- Assignments and submissionsCanvasLMS\Api\Modules\Module- Course modules and itemsCanvasLMS\Api\Pages\Page- Wiki pagesCanvasLMS\Api\Sections\Section- Course sectionsCanvasLMS\Api\Tabs\Tab- Course navigation tabsCanvasLMS\Api\Announcements\Announcement- Course announcements
Discussions & Communication
CanvasLMS\Api\DiscussionTopics\DiscussionTopic- Discussion forumsCanvasLMS\Api\Conversations\Conversation- Internal messagingCanvasLMS\Api\Conferences\Conference- Web conferences
Files & Media
CanvasLMS\Api\Files\File- File uploads and managementCanvasLMS\Api\MediaObjects\MediaObject- Media/video content
Grading & Assessment
CanvasLMS\Api\Quizzes\Quiz- Quiz creation and managementCanvasLMS\Api\QuizSubmissions\QuizSubmission- Quiz attemptsCanvasLMS\Api\Submissions\Submission- Assignment submissionsCanvasLMS\Api\SubmissionComments\SubmissionComment- Submission feedbackCanvasLMS\Api\Rubrics\Rubric- Grading rubricsCanvasLMS\Api\GradebookHistory\GradebookHistory- Grade audit trail
Groups & Collaboration
CanvasLMS\Api\Groups\Group- Student groupsCanvasLMS\Api\GroupCategories\GroupCategory- Group sets
Outcomes & Standards
CanvasLMS\Api\Outcomes\Outcome- Learning outcomesCanvasLMS\Api\OutcomeGroups\OutcomeGroup- Outcome organizationCanvasLMS\Api\OutcomeResults\OutcomeResult- Outcome assessmentsCanvasLMS\Api\OutcomeImports\OutcomeImport- Bulk outcome imports
Calendar & Scheduling
CanvasLMS\Api\CalendarEvents\CalendarEvent- Calendar entriesCanvasLMS\Api\AppointmentGroups\AppointmentGroup- Office hours/appointments
Admin & Configuration
CanvasLMS\Api\Admins\Admin- Account administratorsCanvasLMS\Api\FeatureFlags\FeatureFlag- Feature togglesCanvasLMS\Api\ExternalTools\ExternalTool- LTI integrationsCanvasLMS\Api\ContentMigrations\ContentMigration- Course copy/importCanvasLMS\Api\Progress\Progress- Long-running job status
See the Canvas LMS Kit documentation for complete API reference.
๐ค Contributing
Contributions are welcome! Please see CONTRIBUTING.md for details.
Development
๐ License
The MIT License (MIT). Please see License File for more information.
๐ Credits
- Juan Rivera
- All Contributors
๐ Related Packages
- Canvas LMS Kit - The base PHP SDK
- Canvas LMS API Documentation - Official Canvas API docs
๐ Support
If you encounter any issues or have questions:
- Check the FAQ section below
- Search through existing issues
- Create a new issue with a clear description
โ FAQ
Q: Do I need to manually initialize the Canvas API?
A: No! This package auto-configures everything when Laravel boots.
Q: Can I use this with multiple Canvas instances?
A: Yes! Configure multiple connections and switch between them using Canvas::connection().
Q: How do I test Canvas API calls?
A: Use the included CanvasFake class to mock API responses in your tests.
Q: Is this package compatible with Laravel Octane?
A: Yes, the package is stateless and works with Laravel Octane.
Q: What Laravel versions are supported?
A: Laravel 9.x, 10.x, and 11.x are fully supported.
All versions of canvas-lms-kit-laravel with dependencies
jjuanrivvera/canvas-lms-kit Version ^1.5
illuminate/support Version ^9.0|^10.0|^11.0|^12.0
illuminate/console Version ^9.0|^10.0|^11.0|^12.0
illuminate/config Version ^9.0|^10.0|^11.0|^12.0