Lesson Roll

$15.00

SKU: lessonroll Category:

Description

body { font-family: Georgia, “Times New Roman”, serif; color: #1c1915; background: #faf7f2; margin: 0; }
main { max-width: 760px; margin: 0 auto; padding: 32px 20px 64px; }
h1 { font-size: 40px; line-height: 1.1; margin-bottom: 8px; }
.meta { font-family: “Segoe UI”, sans-serif; color: #5c5346; }
.price { display: inline-block; background: #1c1915; color: #fff; border-radius: 999px; padding: 4px 12px; font-family: “Segoe UI”, sans-serif; }
ul { padding-left: 20px; }
table { border-collapse: collapse; width: 100%; font-family: “Segoe UI”, sans-serif; }
td { border-bottom: 1px solid #e4dccd; padding: 8px 6px; vertical-align: top; }
.shots { display: flex; gap: 12px; flex-wrap: wrap; margin: 16px 0 24px; }
.shots img { width: 180px; height: auto; background: #fff; border: 1px solid #e4dccd; }

Yuri Morkhov ยท Android source code

Lesson Roll

$15

Private tutor ledger. Each student has an hourly rate. Lessons store minutes and a paid flag, and the roll shows the unpaid balance.

Screenshot 1 of Lesson Roll
Screenshot 2 of Lesson Roll
Screenshot 3 of Lesson Roll

Features

  • Student list with open balances
  • Add a 45-minute lesson
  • Mark the oldest unpaid lesson as paid
  • Month view of minutes, paid share, and money still open
  • Sample roll of three fictional students
  • No accounts and no invoices sent off the phone

Who it is for

A lesson book for one tutor, not a payroll app and not a school grade book. The balance rule is unpaid minutes times the hourly rate.

Specification

Package ru.lessonroll.app
Language Kotlin
UI Jetpack Compose, Material 3
Min SDK 26
Target SDK 35
Network No permission, no API key
Tests JVM unit tests for the logic core
License One shipped application. Source resale as a template is not included.

Reskin

Change the app name in strings.xml, the seed colors in MainActivity.kt, and the adaptive icon. The README lists the package rename steps.

Reviews

There are no reviews yet.

Be the first to review “Lesson Roll”

Your email address will not be published. Required fields are marked *