Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

98 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

KASBON - Kasir Bisnis Online

A cloud-based POS (Point of Sale) application for Indonesian small businesses (UMKM), built with Flutter and Supabase.

Key Features

  • Cloud-First - All data stored in Supabase (PostgreSQL) with Row Level Security
  • Multi-Device - Sign in from any device, data follows your account
  • Profit Tracking - Track profits, not just revenue
  • Debt Management - Built-in debt (hutang) tracking for local business needs

Tech Stack

  • Frontend: Flutter
  • State Management: Riverpod
  • Backend: Supabase (PostgreSQL + Auth + RLS)
  • Authentication: Supabase Auth (mandatory email/password)
  • Architecture: Clean Architecture (feature-based modules)

Project Structure

Kasbon/
├── app/                # Flutter mobile app
├── supabase/           # Supabase config, migrations, seed data
└── docs/               # Project documentation

Development tasks and progress are tracked in ClickUp (Kasbon space).

Development

Prerequisites

  • Flutter SDK 3.x
  • Dart SDK
  • Supabase CLI (for local development)
  • Docker (required by Supabase CLI)

Setup

# Clone repository
git clone <repository-url>
cd Kasbon

# Start local Supabase (from project root)
supabase start
# Note the API URL and publishable key printed by this command

# Install Flutter dependencies
cd app
flutter pub get

# One-time setup: create your env file with the values from `supabase start`
cp env.example.json env.json   # then fill in SUPABASE_PUBLISHABLE_KEY

# Run the app against local Supabase
flutter run --dart-define-from-file=env.json

Local test user (from seed data): test@kasbon.id / password123

Supabase Local Development

supabase start                 # Start local Supabase (API: 54321, DB: 54322)
supabase stop                  # Stop local Supabase
supabase migration new <name>  # Create a new migration
supabase db reset              # Reset local DB (applies migrations + seed)

Documentation

  • CLAUDE.md — Current architecture, commands, and conventions (kept up to date)
  • ClickUp Kasbon space — Development tasks & progress tracker
  • supabase/migrations/ — Database schema source of truth
  • docs/ — Original planning documents (historical; early sections describe a since-abandoned SQLite offline-first design)

License

[License information here]

Releases

Packages

Contributors

Languages