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
  • TankSafe Overview

TankSafe Overview

TankSafe is a React + Supabase portal that digitises tanker inspection workflows. This documentation describes the features implemented in the tank-wise-portal repository and is limited to functionality that can be verified in source code.

Current surface area​

AreaWhat you can do today
AuthenticationEmail/password sign-in backed by Supabase Auth, invite-based onboarding, time-based one-time passcode (TOTP) MFA.
DashboardView counts of active, completed-this-month, and overdue inspections. Launch the inspection wizard or search for existing jobs by job number.
Inspection WizardComplete the guided 10-step workflow covering risk assessment, vapour tightness, leakproofness, hydro/pneumatic, EPRV, checklist, continuity, RVI, charge sheet, and thickness capture.
Search & ReportingFilter inspections by status/date, review completeness, and open inspection detail pages.
Inspector WorkspaceInspectors view assigned jobs, track completeness, and jump into the wizard.
Admin ConsoleManage jobs, edit inspection data, view job dossiers, assign inspectors, maintain the drag-and-drop schedule, manage users, and enforce MFA.

Key roles represented in code​

  • Administrators (profile role: 'administrator') can access all admin routes: /admin/jobs, /admin/jobs/:job, /admin/jobs/:job/edit, /admin/schedule, /admin/users, and /admin/settings.
  • Inspectors (profile role: 'inspector') can run inspections, view their job list at /inspector/jobs, and use the dashboard/search surfaces.

The portal does not implement separate supervisor personas, incident management, or offline sync flows yet. Any legacy references to those capabilities have been removed or marked as future work.

Architectural snapshot​

  • Frontend: Vite + React + TypeScript with Tailwind, Shadcn UI, and Radix primitives. Routes live under src/pages and are wrapped by ProtectedRoute to enforce role checks.
  • Data access: All data operations call Supabase directly through the generated client (src/integrations/supabase/client.ts). Queries for jobs, forms, grids, and schedule data reside inside the relevant page components and helper utilities (src/lib/api.ts, src/lib/gridConfigs.ts, src/lib/formSchemas.ts).
  • Edge functions: Admin user administration calls the Supabase Edge Functions located at supabase/functions/admin-*. No other automation layers are implemented.
  • Assets: The portal renders PDFs client-side using React-PDF components in src/components/pdf, but automated generation queues are not implemented.

See Technical Guides › Architecture for a deeper walkthrough with file pointers.

Primary workflows (code-backed)​

  1. Create or resume an inspection — From the dashboard or Admin Jobs table, open /inspect/:job/wizard to step through forms and grids, saving to Supabase at each step.
  2. Search inspections — /search surfaces inspection records with filters for status and date range, using Supabase queries plus completeness calculations.
  3. Admin job review — /admin/jobs/:job loads inspection details, form responses, checklist data, continuity readings, and charge sheet summaries in read-only tabs.
  4. Edit inspection data — /admin/jobs/:job/edit lets administrators update inspection metadata, form responses, and grid rows via shared helper utilities.
  5. Plan the schedule — /admin/schedule displays a drag-and-drop calendar built with react-big-calendar, drawing from inspections, inspectors, and availability tables.
  6. Manage users — /admin/users invokes edge functions to invite, update, delete users, and check MFA status; administrators can assign inspectors to jobs via dropdowns in Admin Jobs.
  7. Configure MFA — /admin/settings opens an authenticator management dialog powered by the SecuritySettingsDialog component.

What is deliberately out of scope right now​

  • Incident reporting, support playbooks, automated exports, and custom analytics dashboards.
  • Offline-first functionality or background sync for the wizard.
  • Integration connectors beyond the Supabase resources referenced above.

As new features land in the repository, extend this page and linked guides accordingly. Until then, stick to the workflows surfaced above so the docs stay aligned with the codebase.

Edit this page
Next
User Guides
  • Current surface area
  • Key roles represented in code
  • Architectural snapshot
  • Primary workflows (code-backed)
  • What is deliberately out of scope right now
Docs
  • Overview
Community
  • Support
  • Roadmap
  • Status Page
More
  • TankSafe.io
  • GitHub
Copyright © 2025 Tank Safe Solutions. Built with Docusaurus.