Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/Janblack07/OxygenDispatch/llms.txt

Use this file to discover all available pages before exploring further.

OxygenDispatch is a purpose-built Laravel 12 web application designed for medical gas distributors who need to track oxygen and other gas cylinders from the moment they arrive at the warehouse through every technical inspection, storage movement, and client delivery. It gives operations teams a single, auditable source of truth for every cylinder unit — replacing error-prone spreadsheets and manual paper logs with a structured, role-protected digital workflow.

Quickstart

Clone the repo, run migrations, and dispatch your first batch of cylinders in under five minutes.

Installation

Full server requirements, environment variable reference, and production deployment steps.

Tank Lifecycle

Understand how a cylinder moves from batch intake through technical review to dispatch and decommission.

Inventory Flow

Explore warehouse areas, inventory movements, and how the system maintains real-time stock counts.

What problem it solves

Medical gas distributors handle hundreds or thousands of individual cylinders every month. Each unit must be tracked by serial number, gas type, capacity, sanitary registry, manufacturing date, and expiry date. Before a cylinder can leave the warehouse, it must pass through a formal technical reception — a documented inspection process that verifies documentation compliance, physical condition, and storage suitability, and records the result (approved, rejected, or pending) against the unit. Without a dedicated system, this process relies on handwritten forms, spreadsheets shared over email, and manual cross-referencing between purchase orders and physical stock. Cylinders get lost in quarantine areas, dispatched before they are approved, or retired without an audit trail. OxygenDispatch closes these gaps by enforcing a strict digital workflow: a cylinder cannot be dispatched unless it exists in the system, belongs to a registered batch, and has passed a technical review tied to an approved technical reception record.

Core modules

Batches

Register incoming shipments of cylinders with supplier details, voucher data, and sanitary registry information. Generate individual tank units from a batch in one step.

Technical Reception

Create a formal reception record linked to a batch document number. Capture supplier, invoice, remission guide, storage conditions, and responsible officer details.

Tank Reviews

Inspect individual cylinders within a reception. Record the review result (approved or rejected), anomaly type, and observation notes. Approved tanks become available for dispatch.

Dispatches

Assign approved cylinders to a client with a timestamped dispatch record. Supports dispatch by individual serial number or by quantity, plus remission and voucher reference fields.

Monthly Reports

Generate monthly entry and exit PDF reports using DomPDF. Download signed technical reception sheets and share them with suppliers or regulatory auditors.

User Management

Manage staff accounts with role-based access control. The roles PROGRAMADOR and ADMINISTRADOR can create, edit, activate, or deactivate users and reset passwords.

Technology stack

OxygenDispatch is built on a modern, stable PHP stack that is easy to host on any Linux server with a standard LEMP or LAMP setup.
LayerTechnology
FrameworkLaravel 12
LanguagePHP 8.2+
DatabaseMySQL 8+ or SQLite (dev)
Frontend templatingBlade templates
CSSTailwind CSS (via Vite)
Build toolVite
PDF generationbarryvdh/laravel-dompdf 3.1+
Auth scaffoldingLaravel Breeze
Queue / logsLaravel Queue + Laravel Pail
All application routes — dashboards, catalogs, batches, tanks, dispatches, reports, and technical receptions — are protected by the auth middleware and require an authenticated session. User management routes are additionally guarded by a role middleware that restricts access to users with the PROGRAMADOR or ADMINISTRADOR role. Unauthenticated visitors are redirected to the login page.

Build docs developers (and LLMs) love