1001 Freelance Projects
Latest Projects from
Freelance Marketplaces
View Project
View this project in detail
(Note: you will be redirected to external marketplace)
Project title:
Android Kiosk App for SUNMI K2
Posted by:
External project from PeoplePerHour
Started:
03-Oct-2025 10:14 GMT
Description:
Overview

Build a locked-down Android kiosk app for the SUNMI K2 (24", 1080×1920 portrait).
The app will pull content from our WooCommerce /kiosk endpoint, cache it for offline-first operation, and expose native capabilities—printer, QR/camera, USB vending controller—to the web UI via a secure JS bridge.
Payments are handled via Revolut Terminal API (semi-integrated): app initiates transactions, terminal performs PCI-scoped card flow, app receives results.

Deliverables

Production-ready APK/AAB + full source code (Git repo).

JS bridge documentation + sample /kiosk bundle.

Config guide (WooCommerce endpoints/keys, Revolut Terminal setup, supported USB VID/PIDs).

Simple USB vending serial protocol spec + (nice-to-have) bench simulator.

Test plan/results (unit, instrumented, hardware-in-the-loop) and admin cheat sheet.

Scope & Requirements

Content & Offline

Fetch /kiosk HTML/JSON/assets from WooCommerce; verify signatures; local cache.

Start from cache; background delta updates (WorkManager).

Render via WebView (file://) with a minimal, audited JS↔Native bridge.

Payments — Revolut Terminal (semi-integrated)

App sends {amount, currency, orderId} to Revolut Terminal API/device.

Handle async result (approved/declined/cancelled), update UI, print receipt, update WooCommerce order.

Idempotent flow with retries; refund/void via PIN-protected admin.

Peripherals

Printer: SUNMI SDK / ESC/POS (receipts, admin prints).

QR/Barcode: CameraX + ZXing/ML Kit; expose decoded payload to WebView.

Vending: USB CDC/serial to control up to 12 slots; commands, timeouts, retries, job queue.

(Optional) NFC: Read ISO14443/NDEF tokens for loyalty/account lookup.

Kiosk & Resilience

LockTask (pinned app), immersive full-screen, auto-start on boot.

Watchdog to recover WebView/service on crash/hang.

Branded offline page and graceful error states.

Security/Privacy

TLS + cert pinning to our APIs; signed content manifests.

Admin menu with PIN; logs export with PII redaction; GDPR-aware.

Telemetry

Local event queue → batch upload (crashes, payment outcomes, dispense results, playback metrics).

Acceptance Criteria (must pass)

Boots straight into kiosk; recovers from kill/reboot in ~5s; no system chrome.

Offline-first after initial sync.

Full flow: Revolut card payment → vending dispense → receipt print → WooCommerce order update.

100 consecutive purchase cycles without ANR/crash on SUNMI K2.

Signed bundle verification enforced; admin features behind PIN.

Tech Preferences

Kotlin + Jetpack (ViewModel, WorkManager, Room).

Android WebView with shouldInterceptRequest asset interception; addJavascriptInterface for a minimal bridge.

CameraX + ZXing/ML Kit; SUNMI SDK for printer/scanner where applicable.

USB Host (CDC/FTDI), OkHttp3 with TLS pinning, Hilt DI.

Crash/metrics (Crashlytics/Sentry); ProGuard/R8.

What We Provide

WooCommerce /kiosk endpoint + adverts and signing keys.

Revolut merchant sandbox credentials and terminal.

Test hardware access or remote test windows.

API contracts and sample UI bundles.

Experience Needed

Android kiosk/terminal apps in production.

Revolut Terminal or similar semi-integrated card workflows.

USB serial on Android + ESC/POS printing.

WooCommerce/REST integrations.

Nice-to-Haves

Prior SUNMI K2 integrations.

Hardware-in-the-loop testing experience.

Content signing/manifest verification patterns.

Screening Questions (answer briefly)

Outline your semi-integrated Revolut Terminal flow (init → async status → idempotent order update → receipt).

How will you design a safe JS↔Native bridge so WebView stays sandboxed but can print/scan/dispense/pay?

Your retry/timeout strategy for DISPENSE and payment callbacks.

How do you keep kiosk mode after crashes/reboots and ensure quick recovery?

Your approach to content signing and preventing activation of tampered bundles.

Budget & Timeline

Fixed-price: £____ (please propose)

Timeline: ____ weeks (milestones welcome)

Legal

NDA and IP assignment required.

Must provide code in a private Git repo throughout the project.
Project ID:
3452185
Project category:
Project budget:
View this project in detail
(Note: you will be redirected to external marketplace)
Last Projects / Browse Projects
  Project Started
Experienced Technical Writer for STEM Bluetooth Speaker Kit Documentation (Electronics Focus) -- 2
Category: Circuit Design, Electrical Engineering, Electronics, PCB Layout, Technical Writing
Budget: $125 - $250 USD
07 Feb 2026 05:14 GMT
Beckhoff PLC for XYZ gantry with conveyors
Category: Automation, Electrical Engineering, Programming, Project Management, Software Development, Technical Support, Training
Budget: ₹1250 - ₹2500 INR
07 Feb 2026 05:02 GMT
Node.js Result API & Webhooks
Category: AngularJS, API Development, Frontend Development, JavaScript, Linux, MongoDB, MySQL, Node.js, NoSQL Couch & Mongo, Vue.js
Budget: ₹1500 - ₹12500 INR
07 Feb 2026 05:00 GMT
Assistance with Oracle 4GL Scripting for VEE Rules
Category: Database Administration, Database Development, Java, Oracle, SQL
Budget: ₹600 - ₹1000 INR
07 Feb 2026 04:59 GMT
AI Cinematic Storytelling Video Editor Required
Category: AI Animation, AI Art Creation, HeyGen, Runway, Sound Design, Video Editing, Video Post Editing, Video Processing, Video Production, YouTube Video Editing
Budget: ₹600 - ₹1500 INR
07 Feb 2026 04:56 GMT
Asisten Balas Chat WhatsApp
Category: Chat Operation, Chatbot, Customer Service, Customer Support, Data Entry, Data Processing, Excel, Web Search
Budget: $15 - $25 USD
07 Feb 2026 04:56 GMT
Expert Microsoft Word Document Formatting
Category: Accessibility, Editing, Microsoft Word, Research Writing, Sharepoint, Word
Budget: $250 - $750 USD
07 Feb 2026 04:54 GMT
Need 3000-Series UBC Aluminum Scrap
Category: Data Entry, Excel, Inventory Management, Logistics, Manufacturing
Budget: ₹1500 - ₹12500 INR
07 Feb 2026 04:54 GMT
Berserk-Style Manga Page Illustration
Category: 2D Drawing, Caricature & Cartoons, Character Illustration, Comics, Digital Art, Illustration, Manga
Budget: $10 - $30 USD
07 Feb 2026 04:54 GMT
Informational Brand Website Build
Category: Content Management System (CMS), Graphic Design, HTML, PHP, Web Design, Web Development, WordPress
Budget: ₹600 - ₹1500 INR
07 Feb 2026 04:52 GMT
Basic WhatsApp Marketing
Category: Google Analytics, Marketing Strategy, Social Media Marketing
Budget: ₹12500 - ₹37500 INR
07 Feb 2026 04:51 GMT
Vintage T-Shirt Webstore Build
Category: ECommerce, Graphic Design, HTML, Shopping Cart Integration, Web Development, Web Design, WooCommerce, WordPress
Budget: ₹400 - ₹750 INR
07 Feb 2026 04:51 GMT
Urgent: Looking for a Professional Who Can Introduce a Serious Investor (24h Deal) -- 3
Category: Business Development, Business Strategy, Consulting, Contracts, Investment Management, Legal, Legal Research, Legal Writing, Market Research, Startup Consulting
Budget: $3000 - $5000 USD
07 Feb 2026 04:51 GMT
Urgent: Looking for a Professional Who Can Introduce a Serious Investor (24h Deal) -- 2
Category: Business Analysis, Business Consulting, Business Development, Consulting, Contracts, Investment Management, Legal, Legal Research, Legal Writing, Startup Consulting
Budget: $5000 - $10000 USD
07 Feb 2026 04:51 GMT
Urgent: Looking for a Professional Who Can Introduce a Serious Investor (24h Deal)
Category: Business Consulting, Business Development, Business Strategy, Entrepreneurship, Internet Marketing, Investment Management, Market Research, Marketing, Social Media Marketing, Startup Consulting
Budget: $3000 - $5000 USD
07 Feb 2026 04:51 GMT
Browse All Projects
Projects by Skills ...
android
ajax
asp
aspnet
cms
cpp
csharp
css
delphi
design
drupal
excel
facebook
flash
html
java
javascript
joomla
iphone
mysql
photoshop
php
python
ruby
seo
sql
sysadm
translate
typing
twitter
vbnet
xml
wordpress
writing
New!
Проекты на русском
(Projects in Russian)

Copyright © 2005-2025
1001 Freelance Projects