escolalms / reports
Escola 无头 LMS 报告
0.1.49
2024-03-22 11:42 UTC
Requires
- php: >=7.4
- escolalms/core: ^1.2
- laravel/framework: >=8.0
- maatwebsite/excel: ^3.1
Requires (Dev)
- escolalms/auth: ^0
- escolalms/cart: ^0.4
- escolalms/courses: ^0.4.13
- escolalms/notifications: ^0
- escolalms/questionnaire: ^0
- escolalms/topic-type-gift: ^0.0.9
- orchestra/testbench: ^6.0|^7.0
- phpunit/phpunit: ^9.0
Suggests
- escolalms/cart: Required for reports about Cart/Payments/etc
- escolalms/courses: Required for reports about Courses
- escolalms/topic-type-gift: Required for reports about Gift/Quiz Topic Type
- dev-main
- 0.1.49
- 0.1.48
- 0.1.47
- 0.1.46
- 0.1.45
- 0.1.44
- 0.1.43
- 0.1.42
- 0.1.41
- 0.1.40
- 0.1.39
- 0.1.38
- 0.1.37
- 0.1.36
- 0.1.35
- 0.1.34
- 0.1.33
- 0.1.32
- 0.1.31
- 0.1.30
- 0.1.29
- 0.1.28
- 0.1.27
- 0.1.26
- 0.1.25
- 0.1.24
- 0.1.23
- 0.1.22
- 0.1.21
- 0.1.20
- 0.1.19
- 0.1.18
- 0.1.17
- 0.1.16
- 0.1.15
- 0.1.14
- 0.1.13
- 0.1.12
- 0.1.11
- 0.1.10
- 0.1.9
- 0.1.8
- 0.1.7
- 0.1.6
- 0.1.5
- 0.1.4
- 0.1.3
- 0.1.2
- 0.1.1
- 0.1.0
- 0.0.7
- 0.0.6
- 0.0.5
- 0.0.4
- 0.0.3
- 0.0.2
- 0.0.1
- dev-feature/user-data
- dev-authored-courses-reports
- dev-feature/readme
- dev-feature/94
- dev-bugfix/issue-8
- dev-feature/increase-code-coverage
- dev-feature/swagger-fix
- dev-feature/workflow
This package is auto-updated.
Last update: 2024-09-19 10:30:00 UTC
README
用于统计和报告的包
目的
此包包含用于检索关于其他 LMS 组件(或任何已注册指标和/或报告的任意非 LMS 模型)的统计数据的 Web API。
安装
composer require escolalms/reports
php artisan migrate
php artisan db:seed --class="EscolaLms\Reports\Database\Seeders\ReportsPermissionSeeder"
- 可选:使用
php artisan vendor:publish --tag=reports
发布配置文件
依赖关系
EscolaLms\Courses
用于所有相关课程统计和指标EscolaLms\Cart
用于计算花费金额的所有指标
使用方法
配置
通过编辑发布的配置 reports.php
,您可以
- 更改 API 中可用的指标(通过编辑
metrics
) - 更改每个指标的设置(通过编辑
metric_configuration
)limit
定义默认情况下将计算多少数据点(如果您未作为查询参数传递 limit);例如:将limit
设置为 10 的TutorsPopularityMetric
将返回 10 位最受欢迎的导师的受欢迎程度history
是一个布尔值,定义此指标是否应自动计算并存储在数据库中cron
是 cron 配置,它确定自动计算指标的频率
- 更改 API 中可用的统计信息(通过编辑
stats
)以及它们映射到的模型
统计信息
统计信息用于计算有关给定单个模型(例如课程或主题)的一些统计数据。不存储历史数据,只提供当前数据。
可用的统计信息
EscolaLms\Reports\Stats\Course\AverageTime
- 订阅了课程的用户在课程上花费的平均时间EscolaLms\Reports\Stats\Course\AverageTimePerTopic
- 订阅了课程的用户在课程上花费的平均时间,按主题分组EscolaLms\Reports\Stats\Course\MoneyEarned
- 给定课程赚取的总金额EscolaLms\Reports\Stats\Course\PeopleBought
- 购买了给定课程的用户数量EscolaLms\Reports\Stats\Course\PeopleFinished
- 完成给定课程的用户数量EscolaLms\Reports\Stats\Course\PeopleStarted
- 开始学习给定课程的用户数量EscolaLms\Reports\Stats\Topic\AverageTime
- 订阅了包含该主题的课程的用户在该主题上花费的平均时间
创建自己的统计信息
要创建自己的统计信息,您需要创建一个实现 EscolaLms\Reports\Stats\StatContract
的类。创建统计信息后,您需要将其注册到配置文件中的 stats
数组中。
指标
指标用于报告随时间累积的数据。使用计划任务每天存储每个指标的历史数据,请求指标返回该历史数据(即,给定日期存储的指标值)。
可用的指标
EscolaLms\Reports\Metrics\CoursesMoneySpentMetric
- 计算每个课程的总花费(历史数据表示到给定日期为止的总花费)EscolaLms\Reports\Metrics\CoursesPopularityMetric
- 计算每个课程的订阅用户数量EscolaLms\Reports\Metrics\CoursesSecondsSpentMetric
- 计算用户学习每个课程花费的时间EscolaLms\Reports\Metrics\TutorsPopularityMetric
- 计算订阅了由给定导师创建的课程的用户数量
创建自己的指标
要创建自己的指标,您需要创建一个实现了EscolaLms\Reports\Metrics\Contracts\MetricContract
接口的类。您可以通过扩展EscolaLms\Reports\Metrics\AbstractMetric
来使用该接口中声明的大部分方法的默认实现。创建指标后,您需要通过将其添加到配置文件中的metrics
数组中来注册它。
端点
指标端点
GET /api/admin/reports/metrics
返回在reports.php
配置文件中配置的metrics
列表GET /api/admin/reports/report
计算所选指标的数值;您可以通过以下查询参数向此端点发送请求metric={classname}
是必需的;classname
是/api/admin/reports/metrics
端点返回的metrics
之一limit={int}
是可选的;确定将返回的最大数据点数date={date}
是可选的;将尝试加载给定日期的历史报告数据或返回404
如果没有数据可用;如果没有此参数,端点将返回今天的数据
统计数据端点
GET /api/admin/stats/available
返回在reports.php
配置文件中配置的stats
列表- `GET /api/admin/stats/
测试
运行./vendor/bin/phpunit --filter='EscolaLms\\Reports\\Tests'
以运行测试。
事件
在此软件包中没有定义事件。
监听器
在此软件包中没有定义监听器。
如何在前端使用此软件包
管理面板
报告仪表板
课程统计数据
权限
路线图。待办事项。故障排除
- ???