定制 eren/lms 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

eren/lms

Composer 安装命令:

composer create-project eren/lms

包简介

It provides the user to create, maintain and upload the video based coures on their website

README 文档

README

Overview

The Eren\Lms package is a Laravel-based Learning Management System (LMS) that provides essential functionalities for managing courses, assignments, and video uploads. It supports instructor panels, Amazon S3 integration for video storage, and an admin approval system for publishing courses.

Features

  • Instructor Panel: Allows instructors to upload complete courses, including assignments and videos.
  • Amazon S3 Support: Videos can be uploaded to Amazon S3 for efficient storage and delivery.
  • Admin Approval System: Uploaded courses remain unpublished until reviewed and approved by an admin.
  • User Authentication: Supports login, registration, and password recovery.
  • Middleware Support: Includes admin and authenticate middleware for access control.
  • Publishable Assets: Provides configuration files, views, translations, migrations, and other resources.

Installation (Recommended)

  1. Install the package via Composer:

    composer require eren/lms
    

    and place these routes in your Laravel service provider e.g. RouteServiceProvider function => boot

    // Tell Fortify to use your package's views
         Fortify::loginView(function () {
             return view('lms::auth.login');
         });
    
         Fortify::registerView(function () {
             return view('lms::auth.register');
         });
    
         // You can also customize other views like password reset, email verification, etc.
         Fortify::requestPasswordResetLinkView(function () {
             return view('lms::auth.forgot-password');
         });
    
         Fortify::resetPasswordView(function () {
             return view('lms::auth.reset-password');
         });
    
  2. Publish the package assets:

    php artisan vendor:publish --tag=lms_config
    php artisan vendor:publish --tag=lms_views
    php artisan vendor:publish --tag=lms_assets
    php artisan vendor:publish --tag=lms_lang
    php artisan vendor:publish --tag=lms_admin
    php artisan vendor:publish --tag=lms_requests
    php artisan vendor:publish --tag=lms_rules
    php artisan vendor:publish --tag=lms_only_header_footer_sidebar
    php artisan vendor:publish --tag=lms_migrations
  3. Run migrations:

    php artisan migrate
    
  4. Handy Seeders

    php artisan db:seed --class=LanguageSeeder
    php artisan db:seed --class=CategoriesSeeder
    

Installation(Personlized)

Step 1: Install the anhskohbo/no-captcha Package

  1. Install the Package: Run the following Composer command to install the package:

    composer require anhskohbo/no-captcha
  2. Publish the Configuration File: Publish the package's configuration file to customize reCAPTCHA settings:

    php artisan vendor:publish --provider="Anhskohbo\NoCaptcha\NoCaptchaServiceProvider"

    This will create a nocaptcha.php file in the config directory.

Step 2: Set Up Google reCAPTCHA Keys

  1. Get reCAPTCHA Keys:

  2. Add Keys to .env: Add the keys to your .env file:

    NOCAPTCHA_SITEKEY=your_site_key_here
    NOCAPTCHA_SECRET=your_secret_key_here
  3. Update config/nocaptcha.php: Ensure the nocaptcha.php configuration file uses the keys from the .env file:

    return [
        'sitekey' => env('NOCAPTCHA_SITEKEY', ''),
        'secret' => env('NOCAPTCHA_SECRET', ''),
    ];

Step 3: Publish Auth Views

If you want to customize the login page, publish the authentication views using the lms_auth_views tag.

  1. Publish Auth Views: Run the following Artisan command:

    php artisan vendor:publish --tag=lms_auth_views

    This will copy the authentication views (e.g., login.blade.php, register.blade.php) to your resources/views/vendor/lms directory.

    Run migrations:

    php artisan vendor:publish --tag=lms_migrations
    php artisan migrate
    

Middleware

The package provides the following middleware:

  • admin: Restricts access to admin-only sections.
  • authenticate: Ensures authentication for protected routes.

Instructor Panel

  • Instructors can upload full courses, including assignments and videos.
  • Videos are stored on Amazon S3.
  • The admin must approve courses before they become publicly accessible.

Course Display

  • Currently, the package does not include course display functionality.
  • You can create a query to build a course listing page.

Authentication

  • The package supports login, registration, and forgot password functionalities.

License

This package is open-source and available under the MIT License.

Contribution

Feel free to contribute by submitting issues or pull requests to the GitHub repository.

Support

For any issues, open a GitHub issue or contact the package maintainer.

eren/lms 适用场景与选型建议

eren/lms 是一款 基于 CSS 开发的 Composer 扩展包,目前已累计 348 次下载、GitHub Stars 达 0, 最近一次更新时间为 2025 年 03 月 13 日, 在 PHP 生态内属于活跃度较高的组件。

我们在过去多个企业项目中使用过 eren/lms 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 eren/lms 我们能提供哪些服务?
定制开发 / 二次开发

基于 eren/lms 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 348
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 21
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: CSS

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-03-13