coderqh

Kettlora — Flutter Gym Class Booking App with Laravel Admin

Your studio's timetable, in your members' pockets.

Kettlora — Flutter Gym Class Booking App with Laravel Admin

The live preview on CodeCanyon is this app compiled for the web: the real build, not a video.

A class booking app for one gym or studio: members see the day on a folded day, claim a spot or join the waitlist, and carry their class pass on the phone, while your team runs the roster and the weekly timetable from the included Laravel admin.

What it does well

from the app
The day, folded — Kettlora screen

The day, folded

Classes hang off the hours they start at, and the stretches with nothing in them fold away to a short dashed gap. A whole studio day is one screen instead of six hundred pixels of nothing.

Claim a spot, or queue for one — Kettlora screen

Claim a spot, or queue for one

One sheet books the class, shows the free cancel deadline and what the pass will be charged. A full class offers the waitlist with your position, and a freed spot promotes the next member automatically.

A pass you can see — Kettlora screen

A pass you can see

Classes left are weights on a barbell and the ones you have used stay on it as outlines. Unlimited passes show the valid through date, and a renewal is one tap that your front desk approves.

What it looks like

10 images
Fold — Kettlora
Fold
Strap — Kettlora
Strap
Claim — Kettlora
Claim
Waitlist — Kettlora
Waitlist
Pass — Kettlora
Pass
Themes — Kettlora
Themes
Screens — Kettlora
Screens
Developers — Kettlora
Developers
Admin — Kettlora
Admin
Landing — Kettlora
Landing

In the box

from the shipped zip
  • Full Flutter source in kettlora_app/, no obfuscation and no licence server
  • Offline HTML documentation: setup, re-theming, app name and bundle id, troubleshooting
  • The back end, with full source: Laravel admin and REST API
  • Back-end setup and deployment notes
  • A one-page landing site for the app, ready to host
  • 12 Dart test files in the app

Run it after download

the app
# unzip the download, then
$ cd kettlora_app
$ flutter pub get
$ flutter run

The back end has its own setup guide in the package; start it before pointing the app at it.

Spec

measured
Screen widgets15
Dart files70
Tests in the package12
Dart SDK^3.7.0
Back endLaravel admin and REST API
PlatformsiOS + Android, one codebase

Counted from kettlora-v1.0-r2.zip, the file uploaded to CodeCanyon. Screen widgets are the view, screen and page classes in the source, so the number can differ slightly from a count of routes.

Questions

Something else? Ask on the item's CodeCanyon page; the author answers there.

Does the app work before I deploy the server?

Yes. Demo mode is on out of the box with a sample studio, two weeks of classes and a pass, so every screen is populated the moment it opens. Point the app at your Laravel server from Settings when it is live.

How do members pay for a pass?

The app requests a pass and your team approves it and records the payment in the admin. Payment is taken at the desk or by bank transfer; this version does not include a payment gateway.

How does the front desk take attendance?

From the Roster desk page in the Laravel admin: open today's class, tick the members who arrived, mark no-shows and promote from the waitlist. There is no second app to publish.

See Kettlora on CodeCanyon →

Sold on Envato's CodeCanyon marketplace, which handles payment, VAT, invoices and the download.