Skip to content

zahid4kh/compose-for-desktop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Compose for Desktop Wizard

Static Badge

A project generator that creates ready-to-use Kotlin Compose for Desktop applications. Available as both a web application and a native desktop client.

Screenshot of Web Wizard

πŸš€ Available Versions

Web Generator (Instant Access)

Launch Web Generator - No installation required

Desktop Client (Advanced Features)

Download Desktop Client - Native application with enhanced capabilities

Desktop Client

Features Comparison

Feature Web Version Desktop Client
Project Generation βœ… βœ…
Dependency Selection βœ… βœ…
File Preview βœ… βœ…
Dark Mode βœ… βœ…
Icon Management ❌ βœ… Drag & Drop
Offline Usage ❌ βœ…
Expandable Sections ❌ βœ…
Installation Required ❌ βœ… Java 17+

Desktop Client Installation

Prerequisites

Quick Install

Linux (Recommended)

wget https://github.com/zahid4kh/compose-for-desktop/releases/latest/download/composefordesktop_1.0.1_all.deb
sudo dpkg -i composefordesktop_1.0.1_all.deb

All Platforms (JAR)

wget https://github.com/zahid4kh/compose-for-desktop/releases/latest/download/composefordesktop-1.0.1.jar
java -jar composefordesktop-1.0.1.jar

For detailed installation instructions, see the Installation Guide.

How It Works

Both versions create a customized Kotlin project with:

  • Proper Gradle configuration with version catalogs
  • Compose for Desktop dependencies
  • Material 3 theming with dark mode support
  • Dependency injection with Koin
  • MVVM architecture pattern
  • Cross-platform native distributions
  • Optional libraries based on your selection

πŸ“ Generated Project Structure

.
β”œβ”€β”€ build.gradle.kts
β”œβ”€β”€ gradle
β”‚   └── wrapper
β”‚       β”œβ”€β”€ gradle-wrapper.jar
β”‚       └── gradle-wrapper.properties
β”œβ”€β”€ gradle.properties
β”œβ”€β”€ gradlew
β”œβ”€β”€ gradlew.bat
β”œβ”€β”€ README.md
β”œβ”€β”€ settings.gradle.kts
└── src
    β”œβ”€β”€ main
    β”‚   β”œβ”€β”€ kotlin
    β”‚   β”‚   β”œβ”€β”€ App.kt
    β”‚   β”‚   β”œβ”€β”€ AppModule.kt
    β”‚   β”‚   β”œβ”€β”€ Database.kt
    β”‚   β”‚   β”œβ”€β”€ Main.kt
    β”‚   β”‚   β”œβ”€β”€ MainViewModel.kt
    β”‚   β”‚   β”œβ”€β”€ Models.kt
    β”‚   β”‚   └── theme
    β”‚   β”‚       β”œβ”€β”€ Color.kt
    β”‚   β”‚       β”œβ”€β”€ Theme.kt
    β”‚   β”‚       └── Type.kt
    β”‚   └── resources
    └── test
        β”œβ”€β”€ kotlin
        └── resources

Desktop Client Features

Advanced Configuration

  • Icon Management: Drag & drop PNG files with automatic conversion to ICO/ICNS
  • File Preview: Preview of generated build scripts and files
  • Expandable Sections: Organized UI with collapsible configuration areas
  • Linux Integration: Proper DEB packaging with desktop integration

Enhanced User Experience

  • Native Performance: Built with Compose for Desktop
  • Offline Operation: No internet connection required
  • Advanced Dependencies: 11 optional libraries with detailed descriptions

πŸ“– Documentation

Complete documentation available in Wiki:

Development

Web Version

This repository contains the web-based generator (docs folder).

Desktop Client

The desktop client source code is available in the desktop branch.

Contributing

Contributions are welcome!

License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.


Choose your preferred version: Use the web generator for quick access or download the desktop client for offline usage.