Download the PHP package rockhopsoft/survloop without Composer
On this page you can find all versions of the php package rockhopsoft/survloop. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download rockhopsoft/survloop
More information about rockhopsoft/survloop
Files in rockhopsoft/survloop
Package survloop
Short Description Survloop is an open data engine for designing a database and creating a mobile-friendly user interfaces to fill it.
License GPL-3.0-or-later
Informations about the package survloop
RockHopSoft/Survloop
Table of Contents
- About
- Requirements
- Getting Started
- Documentation
- Roadmap
- Change Logs
- Contribution Guidelines
- Reporting a Security Vulnerability
About
Code bytes measured as stored on Mac disk:
- PHP Controllers ~ 1.9MB (44%)
- Blade HTML Template Views ~ 1.56MB (36%)
- Javascript/jQuery within Blade Templates ~ 201KB (5%)
- CSS within Blade Templates ~ 143KB (3%)
- Survloop-Generated PHP Eloquent Data Table Models ~ 221KB (5%)
- Survloop-Generated PHP Laravel Database Migration & Seeders ~ 291KB (7%)
Survloop is a Laravel-based engine for websites dominated by the collection and publication of open data. This is a database design and survey generation system, though it will increasingly be a flexible tool to solve many web-based problems.
It is currently in continued, heavy development, with much happening here in 2021, almost ready to go live. I plan to provide more documentation in the coming weeks. Thank you for your interest and patience!
This software was originally developed to build the <a href="https://github.com/flexyourrights/openpolice" target="_blank">Open Police system. It began as an internal tool to design our database, then prototype survey generation. Then it was adapted to the Laravel framework, and has continued to grow towards a content-management system for data-focused websites.
The upcoming Open Police web app is the best live install of the engine, and feedback on that project and the Survloop user experience can be via the end of the submission process: https://openpolice.org/filing-your-police-complaint The resulting database designed using the engine, as well as the branching tree which specifies the user's experience: /db/OP /tree/complaint Among other methods, the resulting data can also be provided as XML included an automatically generated schema, eg. /complaint-xml-schema /complaint-xml-example /complaint-xml-all
Other projects running Survloop: Cannabis PowerScore (GitHub).
The installation used for Survloop.org is currently the best example of a bare-bones extension of Survloop:
github.com/rockhopsoft/survlooporg
Requirements
- php: >=8.0
- laravel/laravel: 8.5.*
- laravel/fortify: 1.7.*
- rockhopsoft/survloop-libraries: 0.*
Getting Started
Install Laravel & Survloop on Homestead
Full install instructions also describe how to set up a development environment using VirutalBox, Vargrant, and Laravel's Homestead. For these instructions, the new project directory is 'survproject'.
Edit these lines of the environment file to connect the default MYSQL database:
Next, install Laravel's out-of-the-box user authentication tools, and Survloop:
From your Laravel installation's root directory, update composer.json
to require and easily reference Survloop:
It seems we also still need to manually edit config/app.php
:
If installing on a server, you might also need to fix some permissions before the following steps...
Clear caches and publish the package migrations...
With certain databases (like some managed by DigitalOcean), you may need to tweak the Laravel migration:
Add this line before the "Schema::create" line in each file:
Then initialize the database:
Initialize Survloop Installation
Then browsing to the home page should prompt you to create the first admin user account:
http://survloop.local
If everything looks janky, then manually load the style sheets, etc:
http://survloop.local/css-reload
After logging in as an admin, this link rebuilds many supporting files:
http://survloop.local/dashboard/settings?refresh=2
Other Package Installation
The Excel tools use maatwebsite/excel, and you might need this on Ubuntu:
...or this on Mac:
If you plan to generate PDFs, then you should also download and install Ghostscript. This is for Ubuntu, it might already be installed:
This works in Homestead on Mac, with Homebrew:
Documentation
About Survloop's Codebase and Database Design
Better documentation is juuust beginning to be created...
survloop.org/package-files-folders-classes
Once installed, documentation of this system's database design can be found at http://localhost/dashboard/db/all. This system's survey design can be found at http://localhost/dashboard/surv-1/map?all=1&alt=1 or publicly visible links like those above.
survloop.org/db/SL
Roadmap
Here's the TODO list for the next release (1.0). It's my first time building on Laravel, or GitHub. So sorry.
- [ ] Correct all issues needed for minimum viable product, and launch Open Police Complaints.
- [ ] Integrate options for MFA using Laravel-compatible package.
- [ ] Upgrade database and graphic design for admin tools, thus far only used by the author.
- [ ] Code commenting, learning and adopting more community norms.
- [ ] Add decent levels of unit testing. Hopefully improve the organization of objects/classes.
- [ ] Improve import/export work flow for copying/moving installations.
- [ ] Generate all admin tools by Survloop itself.
- [ ] Add multi-lingual support on the Node-level (surveys and web pages), for starters, then database design.
- [ ] Multi-lingual support at every level.
- [ ] Convert more Survloop (older) code to take advantage of more Laravel built-in icapabilities.
Contribution Guidelines
Please help educate me on best practices for sharing code in this community. Please report any issue you find in the issues page.
Reporting a Security Vulnerability
We want to ensure that Survloop is a secure HTTP open data platform for everyone. If you've discovered a security vulnerability in the Survloop software or Survloop.org, we appreciate your help in disclosing it to us in a responsible manner.
Publicly disclosing a vulnerability can put the entire community at risk. If you've discovered a security concern, please email us at rockhoppers at runbox.com. We'll work with you to make sure that we understand the scope of the issue, and that we fully address your concern. We consider correspondence sent to rockhoppers at runbox.com our highest priority, and work to address any issues that arise as quickly as possible.
After a security vulnerability has been corrected, a release will be deployed as soon as possible.
All versions of survloop with dependencies
components/jqueryui Version ^1.12.1
doctrine/dbal Version ^2.10.4
fideloper/proxy Version ^4.4.0
forkawesome/fork-awesome Version ^1.1.7
genealabs/laravel-model-caching Version ^0.11.3
guzzlehttp/guzzle Version ^7.0.1
intervention/image Version ^2.5.1
laravel/helpers Version ^1.3.0
laravel/fortify Version ^1.7
matthiasmullie/minify Version ^1.3.63
mpdf/mpdf Version 8.*
maatwebsite/excel Version ^3.1.21
nnnick/chartjs Version ^2.9.4
paragonie/random_compat Version v9.99.100
plotly/plotly.js Version ^1.55.0
predis/predis Version ^1.1.7
rockhopsoft/survloop-images Version dev-main
rockhopsoft/survloop-libraries Version dev-main
summernote/summernote Version v0.8.8
twbs/bootstrap Version ^4.5.2