
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.
Technologies
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