Open-Source Showcase · Live Demo0 of 2 slots in use

GoBD LogBook

Multi-tenant, mobile-first application for audit-proof logging of business trips, receipts and expenses – featuring cryptographic SHA-256 hash chains and automated OCR odometer recognition.

Source Code on OpenCommit

Origin & Motivation

Born from the need to eliminate error-prone Excel spreadsheets and scattered odometer photos: A pragmatic, self-hostable system that automates statutory reporting duties for freelancers, small businesses, and non-profits so that day-to-day logging is painless and tax audits are effortless.

⛓️

Cryptographic Audit Chain

Append-only audit events, consecutive mileage checks, time-overlap prevention, and SHA-256 hash chains guarantee auditability at the database level.

📷

Automated OCR Recognition

Automated extraction of odometer values from photos and receipt amounts for rapid plausibility checks without manual typos.

📱

Modern Headless Architecture

Decoupled Laravel 12 backend with OpenAPI interface, React 19 with TypeScript, Ionic 8 and Capacitor 7 for responsive PWA and native mobile deployment.

🛡️

Tenant Isolation & Export

Strict server-side tenant isolation, OAuth2 via Laravel Passport, encrypted third-party credentials (InvoiceNinja), and verifiable export archives with checksums.

Technical Implementation in Detail

Backend Layer

Headless REST API & Security

PHP 8.4 & Laravel 12. OAuth2-Authentifizierung über Laravel Passport, rollen- und mandantenspezifische Zugriffskontrolle mit Spatie Permissions, serverseitige Hash-Ketten-Bildung und verschlüsselte Drittanbieter-Anbindungen (InvoiceNinja).

PHP 8.4Laravel 12MariaDBRedisPassport OAuth2Queues
Frontend & Mobile

PWA & Cross-Platform Client

React 19 mit TypeScript, Vite und Ionic 8. Ausgelegt für Offline-Nutzung mit lokaler Datenhaltung und automatischer Synchronisation beim Wiederverbinden. Durch Capacitor 7 nativ paketierbar für iOS und Android.

React 19TypeScriptIonic 8ViteCapacitor 7PWA Offline-Sync
DevOps & Sandbox

Automatisierte Ephemeral Sandbox

GitLab CI/CD Pipeline-Trigger mit dynamischer Subdomain-Zuweisung über Wildcard-DNS (*.labs.est-in.eu) und Let's Encrypt SSL-Terminierung. Automatischer Auto-Stop nach 15 Minuten für risikofreies Testen.

GitLab CI/CDDockerWildcard SSLNginx ProxyTurnstile Protection