Tanksafe Internal

Welcome to TankSafe Docs

Secure internal guidance and playbooks for the TankSafe team.

Sign in with your organisation Google account to continue.

Access is limited to authorised Google Workspace users.

Skip to main content
Tank Safe Solutions DocsDocumentationUser GuidesTechnical Guides
GitHub
  • TankSafe Overview
  • User Guides
    • Getting Started
    • Dashboard & Global Search
    • Account Management & Security
    • Running Inspections
    • Inspector Job List
    • admin
    • inspections
  • Technical Guides
    • Platform Architecture
    • Development & Deployment Workflow
    • Local Development Setup
    • Integrations
  • Changelog
  • contributing
  • overview
    • glossary
  • overview
  • glossary

glossary

title: TankSafe Glossary slug: glossary sidebar_position: 2 tags: [overview, glossary]​

Key terms referenced throughout the verified TankSafe documentation. Every definition comes directly from behaviour in the tank-wise-portal codebase.

Inspection data​

TermDefinition (code reference)
JobA row in inspections representing a scheduled tanker inspection. Jobs include identifiers, status, inspector assignment, and scheduling metadata. Surfaced in AdminJobs.tsx, InspectorJobs.tsx, and SearchInspections.tsx.
InspectionThe record that the wizard reads/writes. In the UI we treat "job" and "inspection" interchangeably because each job maps 1:1 to an inspection record.
Wizard stepOne of the 10 entries in WIZARD_STEPS inside InspectionWizard.tsx. Each step stores form data under a specific template ID.
Form responseJSON payload stored in the form_responses table. Helper functions getOrCreateInspection and upsertHeader in src/lib/api.ts manage these records.
Grid tableTabular data sets (e.g., compartment readings) backed by Supabase tables such as risk_assessment_compartments or continuity_test_readings, rendered via GridTable and ContinuityMatrix.
Charge sheetCombined labour/parts/work item summary assembled in AdminJobDetail.tsx by joining charge_sheet_* tables.
CompletenessPercentage calculated client-side by comparing completed form responses against the total wizard step count. Implemented in SearchInspections.tsx, AdminJobs.tsx, and InspectorJobs.tsx.
StatusInspection status stored on the inspections table (draft, in_progress, completed, failed, passed, void). The UI maps void to "Cancelled" for filters.

Roles & permissions​

RoleWhat the code allows
AdministratorFull access to every protected route. Can invite/update/delete users through edge functions, assign inspectors, edit jobs, manage the schedule, and configure MFA.
InspectorCan access dashboard, job search, inspector job list, and run the inspection wizard. Inspectors cannot reach /admin/* routes.

No additional personas (e.g., supervisors, engineers) have dedicated UI or policy logic in the repository today.

Components & utilities​

ComponentPurpose
ProtectedRouteWraps route elements and redirects unauthenticated users to /auth. Accepts an adminOnly flag.
AppLayoutShared navigation shell for authenticated areas.
JsonFormRenders form schemas defined in src/lib/formSchemas.ts and writes answers back to Supabase.
ContinuityMatrixSpecialised grid for continuity readings with compartment rows and pass/fail flags.
ThicknessTestCanvasFabric-based drawing surface used in the final wizard step for annotating tank diagrams.
SecuritySettingsDialogMFA setup modal shown in Admin Settings for administrators who still need to enrol.

Supporting terminology​

  • Edge function — Supabase serverless function used for privileged user-management operations. Located in supabase/functions/admin-*.
  • Availability slot — A record in inspector_availability that the schedule page uses to suggest assignments.
  • Reminder — A schedule_reminders entry used by AdminSchedule.tsx to track follow-up notifications. (UI currently surfaces existing reminders but does not send emails.)

Documentation conventions​

  • All doc references map to actual files, components, or tables in the repository.
  • Dates in the UI rely on en-GB formatting (DD/MM/YYYY). Mention the locale explicitly when writing procedural steps.
  • When describing Supabase tables, use the snake_case table name found in migrations. | Incident Report | Structured record triggered when an inspection fails a safety threshold. |
Edit this page
Previous
Documentation Style Guide
  • title: TankSafe Glossary slug: glossary sidebar_position: 2 tags: [overview, glossary]
  • Inspection data
  • Roles & permissions
  • Components & utilities
  • Supporting terminology
  • Documentation conventions
Docs
  • Overview
Community
  • Support
  • Roadmap
  • Status Page
More
  • TankSafe.io
  • GitHub
Copyright © 2025 Tank Safe Solutions. Built with Docusaurus.