The Euroautos Inspection Form is designed to work reliably in environments with limited or no internet connectivity, such as workshop floors, underground garages, and rural roadside inspections where mobile signal is unreliable. Inspectors can start, complete, and generate reports for any number of inspections without ever connecting to the internet — all data is stored safely on the device and synchronised to the backend automatically when a connection becomes available.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/juanmatz/inspection-form-euroautos/llms.txt
Use this file to discover all available pages before exploring further.
How offline works
The app is built as a Progressive Web App (PWA). The first time an inspector opens the app in their browser, a service worker is registered and downloads the complete application shell — all HTML, CSS, JavaScript, fonts, and icons — to the browser’s cache. On every subsequent visit, the app loads instantly from this local cache, bypassing the network entirely. Inspection data (form entries, photos, signatures, and metadata) is persisted in IndexedDB, the browser’s built-in structured storage database. IndexedDB is separate from the network cache and survives browser restarts, device reboots, and even browser updates. The combination of the service worker cache (for the app itself) and IndexedDB (for inspection data) means the app is fully functional from the moment it is opened, regardless of network state.The service worker is registered on the first load and requires an internet connection to download the app shell. After that initial setup, the app works entirely offline. Subsequent app updates are downloaded in the background when connectivity is available and applied the next time the app is opened.
Installing as a PWA
Installing the app to the homescreen or taskbar gives inspectors the best offline experience: the app opens full-screen without a browser toolbar, camera and storage permissions are persistent, and the OS treats it like a native app.Open the app in a supported browser
Navigate to the Euroautos Inspection Form URL in Google Chrome or Microsoft Edge on any device. Firefox and Safari also support PWA installation with slightly different flows (see tip below).
Trigger the install prompt
On desktop, look for the install icon (a monitor with a download arrow) in the browser’s address bar on the right side. Click it and select Instalar in the prompt that appears.On Android, Chrome displays an “Añadir a la pantalla de inicio” banner at the bottom of the screen automatically after a few visits, or you can trigger it manually via the browser menu (⋮) → Añadir a pantalla de inicio.
Data persistence
All inspection data created while using the app is stored locally in IndexedDB under the database nameeuroautos_inspections. This includes:
- Inspection form data (all section responses and item statuses)
- Free-text notes and inspector comments
- Attached photos (stored as compressed JPEG data URLs)
- Inspector and customer signatures (stored as SVG path data)
- Inspection status (draft, complete, synced)
- Sync queue entries (pending mutations awaiting a connection)
- Page refreshes and tab closes
- Browser restarts and device reboots
- Browser updates
- Short-term browser cache clears (IndexedDB is not cleared by “Clear browsing data” unless Cookies and site data is specifically selected)
To inspect the raw contents of the local database for debugging, open the browser’s DevTools → Application tab → IndexedDB → euroautos_inspections. This is useful for verifying that drafts have been saved and that the sync queue is empty before clearing storage.
Sync queue
When a backend API URL is configured viaVITE_API_BASE_URL, every data mutation — creating a new inspection, saving a draft, updating a section, submitting a completed inspection, or deleting a record — is written to a sync queue in IndexedDB in addition to being applied locally.
navigator.onLine API and the online / offline window events. When connectivity is restored:
- The app detects the
onlineevent. - All entries in the sync queue are replayed against the backend API in chronological order.
- Successfully synced entries are removed from the queue.
- Failed entries (e.g. due to a server error) are retried with exponential backoff on the next online event.
- The inspection list on the dashboard updates to reflect the synced state.
If
VITE_API_BASE_URL is not set, the sync queue is disabled and the app operates in local-only mode. All data remains on the device indefinitely. This is the default configuration for offline-only deployments.Conflict resolution
When the same inspection is edited on two different devices while offline — for example, if a second inspector adds a note before the first device has synced — the app uses a last-write-wins strategy to resolve the conflict. Each inspection record carries anupdatedAt timestamp (ISO 8601, UTC). When a synced record arrives at the backend and a newer updatedAt already exists for that inspection ID, the incoming update is rejected and the device is notified to pull the latest version. If the incoming updatedAt is newer, it overwrites the stored record.
This means:
- The most recently saved version of an inspection always wins.
- Intermediate edits from the losing device are discarded.
- Both devices will converge to the same state after the next sync.
For workshops where two inspectors may genuinely need to work on the same inspection simultaneously (e.g. one on the exterior, one on the engine bay), a connected backend with section-level locking is recommended. Concurrent offline editing of the same inspection record is not supported in the current release.
Clearing local data
If you need to reset the app for a new inspector or device, use the in-app Borrar datos locales option in Settings rather than clearing storage from the browser, as the in-app option performs a clean reset of IndexedDB while preserving app configuration (workshop name, logo URL, and API settings stored inlocalStorage).
Limitations
- Real-time collaboration — two inspectors working on the same inspection simultaneously requires a connected backend with active WebSocket or polling support. In offline mode, each device maintains its own independent copy of the inspection.
- Offline mode is single-user per device — the app does not support multiple inspector accounts working in parallel on the same device without syncing between sessions.
- iOS background sync — on iOS, the background sync API is not supported. Syncing to the backend only occurs while the app is open and active in the foreground.
- Storage quotas — browsers may impose storage limits (typically 10–20% of available disk space). Inspections with many high-resolution photos consume more storage. Monitor storage usage in Settings → Almacenamiento and sync completed inspections regularly to free up local space.