Skip to content

KotlinFlowts is a revolutionary visual development tool for building cross-platform apps, inspired by FlutterFlow but powered by Kotlin. With KotlinFlowts, developers and non-developers alike can create robust, scalable, and visually stunning mobile applications using a drag-and-drop interface and the power of Kotlin's type-safe, modern programming

Notifications You must be signed in to change notification settings

YoussefHachicha/KotlinFlowts

Repository files navigation

KotlinFlowts

badge badge badge badge badge badge

Features

Key Features:

  • Add Components: Easily add reusable components to your application.
  • Add Screens: Seamlessly create and manage multiple screens.
  • Edit Components: Modify and update existing components to suit your needs.
  • Generate Code: Automatically generate the necessary code for screens and components.

Desktop Demo

Take a look at the interactive demo below to see these features in action:

Watch the demo

Running the Application

Android

To build the application bundle for Android:

  • Run ./gradlew :composeApp:assembleDebug

Desktop

To run the desktop application:

  • Run ./gradlew :composeApp:run

Web/Js

To run the web application:

  • Run ./gradlew :composeApp:jsBrowserDevelopmentRun

For Devs:

App Builder DSL

A declarative way to build your applications using a simple and intuitive Kotlin DSL.

Basic Structure

buildApp {
    name("MyApp")              // Set your app name
    screen("User Profile")   // Create a screen
    // Add components here
    
}

Available Components

Layout Components
  • row { } - Creates a horizontal container for components

  • column { } - Creates a vertical container for components

Input Components
  • textField("Label") - Single-line text input

  • textFieldArea("Label") - Multi-line text input

  • numberField("Label") - Numeric input field

  • dateField("Label") - Date picker component

  • dropdown("Label") - Single-select dropdown menu

  • multiSelect("Label") - Multi-select dropdown menu

Display Components
  • text("Label") - Static text display

  • image("Label") - Image upload/display component

  • signature("Label") - Signature capture component

Example Usage

buildApp {
    name("Employee Directory")
    
    screen("Personal Information") 
    row {
        textField("First Name")
        textField("Last Name")
    }
    column {
        textFieldArea("Address")
        numberField("Phone Number")
        dateField("Date of Birth")
    }
    row {
        dropdown("Department")
        multiSelect("Skills")
    }
    signature("Employee Signature")
    
    
    screen("Documents") 
    column {
        text("Please upload required documents")
        image("Profile Photo")
        image("ID Card")
    }
    
}

Each component can be customized further with properties and event handlers.

Contribute

Welcome, contribute!

About

KotlinFlowts is a revolutionary visual development tool for building cross-platform apps, inspired by FlutterFlow but powered by Kotlin. With KotlinFlowts, developers and non-developers alike can create robust, scalable, and visually stunning mobile applications using a drag-and-drop interface and the power of Kotlin's type-safe, modern programming

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages