Rovora | Flutter Car Rental App UI Kit

Bluehost Shared Hosting

A rental is a length, not two dates

Every car rental app hands you a month grid and lets you do the subtraction. Rovora hands you a stretch of road with two grips on it: drag either one and the span between them is the rental. The day count sits across the middle of it, the rate band underneath lights up the moment the span crosses three and seven days, and the from-price is recomputed on every frame of the drag.

Rovora | Flutter Car Rental App UI Kit

Car rental, drawn not photographed

A Flutter UI kit for renting a car: drag the days, pick the paint, mark the scuffs, drive off. No backend, no API key, no image assets — 20 screens that run the minute the archive is unzipped.

Runs out of the box

Demo Instructions — the sign-in screen is a mock and contacts no server, so any credentials are accepted. The fields arrive already filled in with demo@rovora.app / demo1234 — just tap Sign in. Clearing both fields and tapping it also works. There is no account to register, no API key to enter and no network required. Onboarding has a Skip in the corner.

flutter pub get flutter run

That is the whole setup. The project sits at the root of the archive; there is no wrapper folder to step into.

Rovora | Flutter Car Rental App UI Kit

Runs the minute it is unzipped

Two commands and it is on a device. No server to start, no key to paste, no account to create — and nothing to pay for beyond the item itself.

  • 20 screens, all wired up — no placeholders
  • 2 dependenciesget and cupertino_icons, and no Firebase anywhere
  • 43 tests passing, and flutter analyze reports zero issues
  • 18 chapters of offline HTML documentation, with two GIFs of the interactions in motion
Rovora | Flutter Car Rental App UI Kit

The rental rail

A month grid makes the driver do the subtraction, then hides the number the price turns on. Here the span between the two grips IS the rental.

  • Drag either grip; the day count follows
  • 3+ and 7+ day bands light up as you cross them
  • The from-price is recomputed on every frame
  • The grips can never cross or meet

One widget, 429 lines: core/widgets/rental_rail.dart — drop it into any screen that needs a span.

Rovora | Flutter Car Rental App UI Kit

Every vehicle is drawn

Tap a swatch, the car changes. Every vehicle is a CustomPainter rather than a photograph — 8 body shapes, 24 sample vehicles, 0 image files in the entire package. That is not a shortcut: it is the reason the paint swatches work at all, and it means re-skinning does not mean commissioning twenty-four photographs.

Rovora | Flutter Car Rental App UI Kit

The argument at the return desk, settled

The paper diagram every desk hands over, made tappable. Tap the body to drop a mark, tap a mark to change what it is, hold to take it off.

  • Scratch — paintwork only
  • Dent — panel is pushed in
  • Chip or crack — glass and lamps

Marks are stored as fractions of the body, so they stay on the same panel at any size.

Rovora | Flutter Car Rental App UI Kit

Every line carries the arithmetic behind it

  • Base line — the headline daily rate × days
  • Length credit — one negative line, never a hidden discount
  • Cover and extras — per day × days, or once for delivery
  • Tax — 9% of everything above it
  • Deposit — a hold on the card, never in the total

It is one pure function, so the same inputs give the same receipt every time — which is why the bundled tests can assert on totals.

Rovora | Flutter Car Rental App UI Kit

Desks, filters, nine cars

Hours and the shuttle note — the things a map pin omits. Filters apply on close, so the list never moves mid-tap. There is deliberately no maps SDK in the package, which means no API key and no location permission on day one; Station carries lat/lng for you to feed your own map when you want one.

Rovora | Flutter Car Rental App UI Kit

20 screens, all wired together

Cover by excess · Booked · Digital key · Rentals — plus onboarding, sign-in, sign-up, the one-time code, the desk picker, results, vehicle detail, extras, the receipt, rental detail, the handover check, Saved, Profile and Settings. The digital key carries the registration plate as a plate, and there is no QR code or barcode anywhere in the kit: the desk does not scan your phone, it reads the plate.

Rovora | Flutter Car Rental App UI Kit

Light and dark, from the same tokens

  • 20 screens, GetX + Material 3
  • 18-chapter offline documentation
  • 43 tests, analyze clean
  • Three typefaces bundled, SIL OFL 1.1
  • Light and dark from one set of tokens
  • Sample forecourt of 24 vehicles

One toggle, both themes — and one file of color tokens behind both.

Connecting your own API

No screen imports the sample data. Views talk to controllers, controllers talk to three service classes, and only those know where anything comes from — so pointing the kit at a real backend is a change to three files, not to thirty. Their signatures already return Futures, and there is no HTTP client bundled, so the kit has no opinion for you to unpick.

What is not included

  • No backend and no admin panel. No server, no database, no fleet-owner side. This is the driver’s app.
  • No real authentication. Sign-in, sign-up and the one-time code are screens; they accept anything and navigate onwards.
  • No payment processing. The card on the receipt is decoration. Nothing is charged and no provider is integrated.
  • Nothing is saved. Data lives in memory for the session — close the app and it returns to the sample state.
  • No maps or GPS. Desks are a list with addresses, hours and a shuttle note.
  • No push notifications. The switches in Settings are UI only.
  • Single language, left-to-right. Copy is English and hard-coded; no localization layer and no RTL pass.
  • No Figma file. Every screen is Flutter.

Requirements

  • Flutter SDK 3.29 or newer, Dart 3.7+
  • Android Studio or VS Code
  • Android and iOS. A web build works and is what the live preview is made from.
  • Nothing else — no third-party account, no API key, no paid service.

Important

Rovora is a user interface kit: screens, state management and a sample data layer. It makes no network calls of any kind and depends on no paid service, so there is nothing to sign up for and nothing to pay beyond the price of this item. If you later add maps, payments, push notifications or a backend, those are your accounts and your costs, not included here.

The three bundled typefaces — Chakra Petch, IBM Plex Sans and Saira Stencil One — are published under the SIL Open Font License 1.1, which permits use in a commercial application including redistribution inside it. Details and upstream sources are in assets/fonts/LICENSES.txt.

Support

Questions about setting the kit up, how a screen is built, or re-skinning it are answered through this item’s comments page. Item support covers the code as shipped; it does not cover your backend, your API, or changes you have made to the code.

Changelog

v1.0 — first release.

0 average based on 0 ratings.

coderqh

coderqh

Visit Author's Portfolio

View Portfolio
Last Update 2026-09-05
Created 2026-09-05
Sales 0
Discussion Comments
Software Version Flutter 3.x
Files Included Dart YAML JavaScript JSON .kotlin .swift
Video Preview Resolution
Search plugins
Browse Categories

Bluehost Shared Hosting