
Rental App
A cross-platform application for ski equipment rental, based on contactless identification with personal document recognition and barcode scanning in camera mode. Developed for Android, iOS, and desktop devices.
My Role & Activities
- Customer needs analysis
- Prototyping
- Programming
- UI/UX Design
Technologies
A TypeScript-based framework for building scalable web applications.
UI toolkit for building cross-platform applications with web technologies.
Cross-platform runtime for shipping web apps to iOS, Android, and desktop.
A strongly typed language built on JavaScript with better tooling and maintainability.
Library for reactive programming built around Observables.
Angular UI component library implementing Material Design.
Query language and runtime for flexible API communication.
End-to-end testing framework for modern browsers and applications.
Promise-based HTTP client for browsers and Node.js.
SDK for extracting data from identity documents, MRZs, and barcodes.
Open-source barcode processing library with broad platform support.
Provider of generative AI models and APIs for text, image, and multimodal work.
Architecture and delivery context
Problem
Equipment rental businesses (ski schools, sports stores) often run on paper forms, scattered Excel files, and slow manual identity verification. Loans take long, returns are error-prone, and inventory tracking lives in the operator's head.
Approach
Rental App is a complete rental management platform covering the full lifecycle: customer registration, warehouse inventory, loan creation and monitoring, returns, payments, and cash register. The same codebase runs on Android, iOS, desktop, and the web (PWA), so the UI works on a Zebra scanner, a tablet at the counter, or a manager's laptop.
Stack
- Frontend: Angular + Ionic + Capacitor, deployed as a PWA with offline support
- Backend: NestJS with Apollo GraphQL (code-first schema), MongoDB
- Type-safe GraphQL client auto-generated from the backend schema
- Google OAuth for sign-in
Key Features
- Microblink BlinkID for automated ID document scanning and customer data extraction
- Barcode scanning (QR, 1D, 2D) and QR code generation
- Integration with Zebra hardware scanners with native audio feedback
- Digital signature capture
- NFC support and geocoding for address-to-coordinates resolution
- Scheduled crawler for syncing external inventory and prices
- Role-based access control across all modules (dashboard, customers, loans, returns, warehouse, cash register, pricing)
- Bilingual UI (Czech, English)
- Offline-capable PWA