1
0
Fork 0
mirror of https://github.com/chobbledotcom/play-test.git synced 2025-11-10 14:13:29 +00:00
The website for play-test.co.uk - a system for logging play equipment inspections (BS EN 19460) https://play-test.co.uk
Find a file
stefan burke 928c7fa1b2
Update Attributions & Annotations
## Weekly Automated Update

This PR contains automated updates for:
- 📝 Model annotations (from database schema)
- 🛣️ Route annotations (from Rails routes)
- 📦 Third-party attributions (from dependencies)

### Files Changed
```
 .licenses/bundler/actioncable.dep.yml    |  2 +-
 .licenses/bundler/actionmailbox.dep.yml  |  2 +-
 .licenses/bundler/actionmailer.dep.yml   |  2 +-
 .licenses/bundler/actionpack.dep.yml     |  2 +-
 .licenses/bundler/actiontext.dep.yml     |  2 +-
 .licenses/bundler/actionview.dep.yml     |  2 +-
 .licenses/bundler/activejob.dep.yml      |  2 +-
 .licenses/bundler/activemodel.dep.yml    |  2 +-
 .licenses/bundler/activerecord.dep.yml   |  2 +-
 .licenses/bundler/activestorage.dep.yml  |  2 +-
 .licenses/bundler/activesupport.dep.yml  |  2 +-
 .licenses/bundler/aws-partitions.dep.yml |  2 +-
 .licenses/bundler/aws-sdk-core.dep.yml   |  2 +-
 .licenses/bundler/aws-sdk-kms.dep.yml    |  2 +-
 .licenses/bundler/aws-sdk-s3.dep.yml     |  2 +-
 .licenses/bundler/date.dep.yml           | 62 ++++++++++++++++++++++++++-
 .licenses/bundler/erb.dep.yml            |  2 +-
 .licenses/bundler/irb.dep.yml            |  2 +-
 .licenses/bundler/json.dep.yml           |  2 +-
 .licenses/bundler/nio4r.dep.yml          |  2 +-
 .licenses/bundler/rack.dep.yml           |  2 +-
 .licenses/bundler/rails.dep.yml          |  2 +-
 .licenses/bundler/railties.dep.yml       |  2 +-
 .licenses/bundler/rake.dep.yml           |  2 +-
 .licenses/bundler/rdoc.dep.yml           |  2 +-
 .licenses/bundler/sentry-rails.dep.yml   |  4 +-
 .licenses/bundler/sentry-ruby.dep.yml    |  4 +-
 .licenses/bundler/solid_queue.dep.yml    |  2 +-
 .licenses/bundler/sqlite3.dep.yml        |  2 +-
 .licenses/bundler/timeout.dep.yml        |  2 +-
 .licenses/bundler/turbo-rails.dep.yml    |  2 +-
 .licenses/bundler/uri.dep.yml            |  2 +-
 ATTRIBUTIONS.md                          | 72 ++++++++++++++++----------------
 attributions.json                        | 72 ++++++++++++++++----------------
 34 files changed, 165 insertions(+), 107 deletions(-)
```

---
*This PR is automatically generated and will be updated if new changes are detected.*
*Last updated: 2025-11-10 03:16 UTC*
2025-11-10 03:18:45 +00:00
.claude Rubocop everything 2025-07-17 17:26:42 +01:00
.github Automerge (#392) 2025-11-05 15:21:26 +00:00
.helix Rubocop everything 2025-07-17 17:26:42 +01:00
.licenses/bundler Update Attributions & Annotations 2025-11-10 03:18:45 +00:00
app Fix StandardRB Linting Issues 2025-11-05 15:24:20 +00:00
bin Debug automated backup error (#385) 2025-11-05 07:27:42 +00:00
config Fix StandardRB Linting Issues 2025-11-05 15:24:20 +00:00
db Text replacement fixes 2025-10-23 17:36:30 +01:00
gems Use the turbo_response partial in chobble-forms to update the users_at_* fields 2025-08-12 19:54:25 +01:00
hooks Ignore sorbet/rbi/* 2025-08-13 01:23:08 +01:00
lib Remove processing durations from ERB linter output (#369) 2025-10-28 14:38:06 +00:00
log Loads of refactoring - turning things into factories to reduce duplicate code 2025-06-09 15:15:49 +01:00
public Remove PWA stuff 2025-08-09 23:50:19 +01:00
sorbet More Sorbet fixes 2025-08-19 08:00:41 +00:00
spec Remove processing durations from ERB linter output (#369) 2025-10-28 14:38:06 +00:00
storage Re-add .keep 2025-10-19 11:13:03 +01:00
test Rubocop everything 2025-10-24 21:59:22 +01:00
tmp Convert trough fields to milimetres and integer fields, not decimals 2025-07-24 15:54:28 +01:00
vendor Loads of refactoring - turning things into factories to reduce duplicate code 2025-06-09 15:15:49 +01:00
.better-html.yml chore(lint): add better-html for enhanced ERB linting and safety checks (#81) 2025-08-04 02:28:16 +00:00
.dockerignore Fix test.rake 2025-08-05 19:25:12 +00:00
.env.example Replace site_overrides with TextReplacements 2025-10-22 15:47:08 +01:00
.erb-lint-tracking Track ERB lint violations requiring manual fixes (#372) 2025-11-05 07:31:01 +00:00
.erb_lint.yml Run erb_lint (#80) 2025-08-04 02:33:04 +00:00
.gitattributes Try and ignore coverage stuff from git 2025-06-15 21:44:39 +01:00
.gitignore Replace site_overrides with TextReplacements 2025-10-22 15:47:08 +01:00
.gitmodules SSH => HTTPS submodule 2025-08-12 15:24:46 +01:00
.licensed.yml Add licensee gem check for AGPLv3 and extensive license data (#148) 2025-08-05 23:47:17 +00:00
.parallel_rspec Loads of refactoring - turning things into factories to reduce duplicate code 2025-06-09 15:15:49 +01:00
.rspec Update safety standards - add negative adjustments to user capacity, take roofs into equation with wall heights 2025-07-03 18:10:23 +01:00
.rspec_status Selectively pick changes 2025-08-08 22:33:53 +01:00
.rubocop.yml Rubocop everything 2025-10-24 21:59:22 +01:00
.ruby-version Loads of refactoring - turning things into factories to reduce duplicate code 2025-06-09 15:15:49 +01:00
.standard.yml Add nice error message and fix homepage search box 2025-08-06 15:17:28 +00:00
.yamllint.yml Run yamlfix over everything 2025-08-16 21:58:26 +01:00
14960.md Unify lots of safety standard stuff and tabbify the interface nicely 2025-06-20 12:40:35 +01:00
attributions.json Update Attributions & Annotations 2025-11-10 03:18:45 +00:00
ATTRIBUTIONS.md Update Attributions & Annotations 2025-11-10 03:18:45 +00:00
biome.json style: reformat JavaScript files for consistent indentation and spacing (#150) 2025-08-05 23:29:01 +00:00
BOUNCING_PILLOW_FIELDS.md Add unit type enums (defaulting to BOUNCY_CASTLE) 2025-07-21 23:57:49 +01:00
CLAUDE.md Require Sorbet types on new code 2025-08-13 01:10:41 +01:00
code_standard_violations.txt Store code standard violations 2025-10-24 22:07:19 +01:00
config.ru Rubocop everything 2025-10-24 21:59:22 +01:00
Dockerfile Add cmake to Dockerfile 2025-08-06 04:36:07 +01:00
erb_lint_output.txt Fix ERB linting issues (#362) 2025-10-28 14:46:23 +00:00
flake.lock Loads of refactoring - turning things into factories to reduce duplicate code 2025-06-09 15:15:49 +01:00
flake.nix Run yamlfix over everything 2025-08-16 21:58:26 +01:00
Gemfile Bump openssl from 3.3.1 to 3.3.2 (#367) 2025-10-28 14:47:22 +00:00
Gemfile.lock Update bundles 2025-11-05 07:33:48 +00:00
ID_GENERATION.md Add ID_GENERATION spec 2025-10-12 14:06:45 +01:00
LICENSE Equipment => Units 2025-06-09 19:26:45 +01:00
Rakefile Loads of refactoring - turning things into factories to reduce duplicate code 2025-06-09 15:15:49 +01:00
README.md Add Codecov badge (#154) 2025-08-05 23:49:18 +00:00
RPII_TODO_08_08.md Support a developer and an admin NTFY channel 2025-08-12 21:37:54 +01:00
standardrb_output.txt Fix StandardRB linting issues (#363) 2025-10-25 15:25:52 +00:00
terragon-setup.sh Fake a secret in the Terragon setup 2025-08-13 16:58:09 +01:00
TODO.md Update TODO 2025-08-06 17:31:10 +01:00
unfixed_issues.txt Fix ERB linting issues (#362) 2025-10-28 14:46:23 +00:00

play-test - BS EN 14960 inspection-logging tool

A web app for managing safety inspections of inflatable play equipment like bouncy castles and slides. Built by Chobble.com.

License: AGPL v3 Docker Image codecov

play-test helps inspectors track and document safety checks on inflatable play equipment. It handles equipment records, inspection forms, photo management, and PDF report generation. Makes repeat inspections of the same units quick and straightforward.

A public instance is live at play-test.co.uk.

Sponsor Development

Features

🎪 Equipment Tracking

  • Store unit details, dimensions, and manufacturer info
  • Keep inspection history for each piece of equipment
  • Upload photos with automatic processing
  • Quick access to previous inspection data

📋 Inspection Management

  • Seven assessment types covering different safety aspects
  • Draft inspections you can edit before finalising
  • Generate PDF reports with QR codes
  • Built-in safety calculations (anchor points, user capacity, etc.)

👥 Company Management

  • Company accounts with branding
  • User management and access control
  • Upload your logo for PDF reports
  • Works on phones, tablets, and desktops

🛠️ Technical Features

  • Export any unit or inspection as PDF or JSON
  • Shows safety standards right where you need them
  • Dark/light theme
  • Minimal dependencies
  • Full internationalisation support
  • No JavaScript required for core functionality

Getting Started

Docker

Quickest way to try it out:

docker pull dockerstefn/play-test
docker run -p 3000:3000 dockerstefn/play-test

Development Setup

There's a Nix flake for easy environment setup:

# Clone the repo
git clone https://github.com/yourusername/play-test.git
cd play-test

# With direnv (recommended)
direnv allow

# Or manually with Nix
nix develop

# Standard Rails setup
bundle install
rails db:create db:migrate db:seed
rails server

Traditional Setup

# Requires Ruby 3.0+ and SQLite
bundle install
rails db:setup
rails server

Testing

Currently over 90% test coverage:

# Run all tests with coverage
bin/test

# Check specific file coverage
bin/coverage_check app/models/inspection.rb

# View detailed HTML report
open coverage/index.html

Test Coverage

If you want to help improve Play-Test, a great way would be to write some more rspec and Capybara tests. Check out coverage.play-test.co.uk for an up-to-date test coverage breakdown.

Tech Stack

  • Rails 8.0+ - With minimal gems
  • SQLite - No fancy databases (yet?)
  • RSpec & Capybara - 90%+ test coverage
  • Semantic HTML + MVP.css - Simple CSS
  • Turbo for progressive JS enhancement

Contributing

Pull requests welcome! This is an open source project and we're not affiliated with any industry bodies, so improvements from anyone are appreciated.

AGPLv3 - see LICENSE file. This means you can use, modify, and distribute the code, but you must share any improvements.

Built by Chobble - an ethical and open source web and software developer in Prestwich, Manchester, UK