rockhopsoft / survloop
Survloop是一个开源数据引擎,用于设计数据库和创建移动友好型用户界面以填充数据。
Requires
- components/jquery: ^3.5.1
- components/jqueryui: ^1.12.1
- doctrine/dbal: ^2.10.4
- fideloper/proxy: ^4.4.0
- forkawesome/fork-awesome: ^1.1.7
- genealabs/laravel-model-caching: ^0.11.3
- guzzlehttp/guzzle: ^7.0.1
- intervention/image: ^2.5.1
- laravel/fortify: ^1.7
- laravel/helpers: ^1.3.0
- maatwebsite/excel: ^3.1.21
- matthiasmullie/minify: ^1.3.63
- mpdf/mpdf: 8.*
- nnnick/chartjs: ^2.9.4
- paragonie/random_compat: v9.99.100
- plotly/plotly.js: ^1.55.0
- predis/predis: ^1.1.7
- rockhopsoft/survloop-images: dev-main
- rockhopsoft/survloop-libraries: dev-main
- summernote/summernote: v0.8.8
- twbs/bootstrap: ^4.5.2
Requires (Dev)
- orchestra/testbench: ^6.0
- phpunit/phpunit: ^9.3
- dev-master
- v0.3.7
- v0.3.6
- v0.3.5
- v0.3.4
- v0.3.2
- v0.3.1
- v0.3.0
- v0.2.35
- v0.2.34
- v0.2.33
- v0.2.32
- v0.2.31
- v0.2.30
- v0.2.29
- v0.2.28
- v0.2.27
- v0.2.26
- v0.2.25
- v0.2.24
- v0.2.23
- v0.2.22
- v0.2.21
- v0.2.20
- v0.2.19
- v0.2.18
- v0.2.17
- v0.2.16
- v0.2.15
- v0.2.14
- v0.2.13
- v0.2.12
- v0.2.11
- v0.2.10
- v0.2.8
- v0.2.7
- v0.2.6
- v0.2.5
- v0.2.4
- v0.2.3
- v0.2.2
- v0.2.1
- v0.1.29
- v0.1.28
- v0.1.27
- v0.1.26
- v0.1.25
- v0.1.24
- v0.1.23
- v0.1.22
- v0.1.21
- v0.1.20
- v0.1.19
- v0.1.18
- v0.1.17
- v0.1.16
- v0.1.15
- v0.1.14
- v0.1.13
- v0.1.12
- v0.1.11
- v0.1.10
- v0.1.9
- v0.1.8
- v0.1.7
- v0.1.6
- v0.1.5
- v0.1.4
- v0.1.3
- v0.1.2
- v0.1.1
- v0.0.29
- v0.0.28
- v0.0.27
- v0.0.26
- v0.0.25
- v0.0.24
- v0.0.23
- v0.0.22
- v0.0.21
- v0.0.20
- v0.0.19
- v0.0.18
- v0.0.17
- v0.0.16
- v0.0.15
- v0.0.14
- v0.0.13
- v0.0.12
- v0.0.11
- v0.0.10
- v0.0.9
- v0.0.8
- v0.0.6
- v0.0.5
- v0.0.4
- v0.0.3
- v0.0.2
- v0.0.1
This package is auto-updated.
Last update: 2024-09-09 02:16:31 UTC
README
目录
关于
在Mac磁盘上存储的代码字节数量
- PHP控制器 ~ 1.9MB (44%)
- Blade HTML模板视图 ~ 1.56MB (36%)
- Blade模板中的JavaScript/jQuery ~ 201KB (5%)
- Blade模板中的CSS ~ 143KB (3%)
- Survloop生成的PHP Eloquent数据表模型 ~ 221KB (5%)
- Survloop生成的PHP Laravel数据库迁移和种子 ~ 291KB (7%)
Survloop是一个基于Laravel的引擎,用于构建以开放数据收集和发布为主体的网站。这是一个数据库设计和调查生成系统,尽管它将越来越多地成为解决许多基于Web问题的灵活工具。
它目前正在持续且大量的开发中,2021年发生了许多事情,几乎准备上线。我计划在接下来的几周内提供更多文档。感谢您的兴趣和耐心!
该软件最初是为了构建Open Police系统而开发的。它最初是一个内部工具,用于设计我们的数据库,并原型化调查生成。然后它被适配到Laravel框架,并继续向数据集中型网站的内容管理系统方向发展。
即将推出的Open Police网络应用是此引擎的最佳实时安装,对该项目和Survloop用户体验的反馈可以通过提交过程的结束时进行:https://openpolice.org/filing-your-police-complaint 使用该引擎设计的数据库以及指定用户体验的分支树:/db/OP /tree/complaint 通过其他方法,结果数据还可以作为包含自动生成的模式的XML提供,例如:/complaint-xml-schema /complaint-xml-example /complaint-xml-all
运行Survloop的其他项目:Cannabis PowerScore (GitHub)。
Survloop.org使用的安装是目前Survloop裸骨扩展的最佳示例
github.com/rockhopsoft/survlooporg
要求
- php: >=8.0
- laravel/laravel: 8.5.*
- laravel/fortify: 1.7.*
- rockhopsoft/survloop-libraries: 0.*
入门
在Homestead上安装Laravel和Survloop
完整的安装说明也描述了如何使用VirtualBox、Vargrant和Laravel的Homestead来设置开发环境。对于这些说明,新项目目录是'survproject'。
% composer create-project laravel/laravel survproject "8.5.*"
% cd survproject
编辑环境文件中的这些行以连接默认的MYSQL数据库
% nano .env
APP_NAME="My Survloop Project"
APP_URL=http://survproject.local
DB_HOST=localhost
DB_PORT=33060
DB_CONNECTION=mysql
DB_DATABASE=survproject
DB_USERNAME=homestead
DB_PASSWORD=secret
接下来,安装Laravel的内置用户认证工具和Survloop
% php artisan key:generate
% php artisan cache:clear
% COMPOSER_MEMORY_LIMIT=-1 composer require rockhopsoft/survloop
% nano composer.json
从Laravel安装的根目录中,更新composer.json
以要求并轻松引用Survloop
...
"autoload": {
...
"psr-4": {
...
"RockHopSoft\\Survloop\\": "vendor/rockhopsoft/survloop/src/",
"Predis\\": "vendor/predis/predis/src/",
}
...
}, ...
似乎我们还需要手动编辑config/app.php
% nano config/app.php
...
'providers' => [
...
App\Providers\FortifyServiceProvider::class,
RockHopSoft\Survloop\SurvloopServiceProvider::class,
...
],
...
'aliases' => [
...
'Survloop' => 'RockHopSoft\Survloop\SurvloopFacade',
...
], ...
如果是在服务器上安装,您可能还需要在以下步骤之前修复一些权限...
% chown -R www-data:www-data storage bootstrap/cache resources/views database app/Models
清除缓存并发布包迁移...
% php artisan config:clear
% php artisan route:clear
% php artisan view:clear
% echo "0" | php artisan vendor:publish --force
% composer dump-autoload
% curl http://survproject.local/css-reload
对于某些数据库(如由DigitalOcean管理的一些数据库),您可能需要调整Laravel迁移
% nano database/migrations/2014_10_12_100000_create_password_resets_table.php
% nano database/migrations/2019_08_19_000000_create_failed_jobs_table.php
在每个文件中的"Schema::create"行之前添加此行
\Illuminate\Support\Facades\DB::statement('SET SESSION sql_require_primary_key=0');
然后初始化数据库
$ php artisan migrate
$ php artisan db:seed --class=SurvloopSeeder
$ php artisan db:seed --class=ZipCodeSeeder
$ php artisan db:seed --class=ZipCodeSeeder2
$ php artisan db:seed --class=ZipCodeSeeder3
$ php artisan db:seed --class=ZipCodeSeeder4
初始化Survloop安装
然后浏览到主页应该会提示您创建第一个管理员用户账户
http://survloop.local
如果一切看起来很糟糕,那么请手动加载样式表等
http://survloop.local/css-reload
登录为管理员后,此链接会重建许多支持文件
http://survloop.local/dashboard/settings?refresh=2
其他包安装
Excel工具使用maatwebsite/excel,您可能在Ubuntu上需要这个
$ sudo apt-get install php7.4-zip
...或这个在Mac上
$ brew update
$ brew install php@7.4
$ brew link php@7.4 --force
如果您计划生成PDF,那么您还应该下载并安装 Ghostscript。这是针对Ubuntu的,它可能已经安装了
$ sudo apt-get install ghostscript
这可以在Mac的Homestead上工作,使用Homebrew
$ brew install ghostscript
文档
关于Survloop的代码库和数据库设计
更好的文档刚刚开始创建...
survloop.org/package-files-folders-classes
安装后,该系统的数据库设计文档可以在https:///dashboard/db/all找到。该系统的调查设计可以在https:///dashboard/surv-1/map?all=1&alt=1或像上面那样的公开可见链接中找到。
survloop.org/db/SL
路线图
这是下一个版本(1.0)的待办事项列表。这是我第一次在Laravel或GitHub上构建。非常抱歉。
- 修复所有必要的问题,以发布最小可行性产品,并启动开放警察投诉。
- 整合使用Laravel兼容包的MFA选项。
- 升级数据库和图形设计,以便用于管理员工具,到目前为止,这些工具仅由作者使用。
- 代码注释,学习和采用更多社区规范。
- 添加足够的单元测试。希望提高对象/类的组织。
- 改进导入/导出工作流程,用于复制/移动安装。
- 由Survloop本身生成所有管理员工具。
- 在节点级别添加多语言支持(调查和网页),首先,然后是数据库设计。
- 在所有级别添加多语言支持。
- 将更多Survloop(较旧)代码转换为利用更多Laravel内置功能。
贡献指南
请帮助我了解在这个社区中共享代码的最佳实践。请报告您在问题页面上发现的任何问题。
报告安全漏洞
我们希望确保Survloop是一个对所有人安全的HTTP开放数据平台。如果您在Survloop软件或Survloop.org中发现了安全漏洞,我们感谢您以负责任的方式向我们披露。
公开披露漏洞可能会让整个社区处于风险之中。如果您发现了安全问题,请发送电子邮件至rockhoppers at runbox.com。我们将与您合作,确保我们了解问题的范围,并完全解决您的担忧。我们将rockhoppers at runbox.com收到的邮件视为最高优先级,并努力尽快解决任何出现的问题。
一旦安全漏洞被修复,将尽快部署新版本。