https://github.com/yigitozgumus/focus-timer
Chess clock inspired focus timer built with Compose Multiplatform
https://github.com/yigitozgumus/focus-timer
kotlin kotlin-coroutines kotlin-multiplatform
Last synced: 3 months ago
JSON representation
Chess clock inspired focus timer built with Compose Multiplatform
- Host: GitHub
- URL: https://github.com/yigitozgumus/focus-timer
- Owner: yigitozgumus
- License: mit
- Created: 2025-03-22T08:48:07.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2025-03-22T14:06:08.000Z (3 months ago)
- Last Synced: 2025-03-22T15:20:31.289Z (3 months ago)
- Topics: kotlin, kotlin-coroutines, kotlin-multiplatform
- Language: Kotlin
- Homepage:
- Size: 1.39 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Focus Timer
A cross-platform desktop application built using Kotlin Multiplatform and Jetpack Compose for Desktop. It helps you stay focused and productive with a clean, elegant timer interface inspired by a chess clock.

## Idea
I got inspired from this [tweet](https://x.com/Liv_Boeree/status/1901711876318204315), tried the idea using a website and found it really useful. I decided to build a small app that would provide the same functionality.
## Features
- Clean and modern Material Design 3 UI
- Cross-platform support (Windows, macOS, Linux)
- Native desktop experience
- Simple and intuitive interface## Technology Stack
- **Kotlin Multiplatform**: For cross-platform development
- **Jetpack Compose for Desktop**: For modern UI development
- **Material Design 3**: For beautiful and consistent UI components
- **Kotlin Coroutines**: For asynchronous programming
- **Font Awesome Icons**: For rich iconography## Prerequisites
- JDK 17 or later
- Gradle 8.0 or later
- Kotlin 1.9.0 or later## Installation
### Pre-built Packages
You can download the latest release from the [GitHub Releases](https://github.com/yigitozgumus/focus-timer/releases) page. The following packages are available:
- Windows: `.msi` installer
- macOS: `.dmg` disk image
- Linux: `.deb` package### Building from Source
1. Clone the repository:
```bash
git clone https://github.com/yourusername/focus-timer.git
cd focus-timer
```2. Build the project:
```bash
./gradlew build
```3. Run the application:
```bash
./gradlew run
```## Distribution
The application can be packaged for different platforms:
- macOS (.dmg)
- Windows (.msi)
- Linux (.deb)To create a distribution package:
```bash
./gradlew packageMsi # For Windows
./gradlew packageDmg # For macOS
./gradlew packageDeb # For Linux
```## Project Structure
```
focus-timer/
├── app/ # Main application module
│ ├── src/ # Source code
│ └── build.gradle.kts # Module build configuration
├── gradle/ # Gradle wrapper files
├── build.gradle.kts # Project build configuration
└── settings.gradle.kts # Project settings
```## Development
### Creating a Release
1. Update the version in `app/build.gradle.kts`:
```kotlin
packageVersion = "1.0.0" // Update this version
```2. Create and push a new tag:
```bash
git tag v1.0.0 # Use the same version as in build.gradle.kts
git push origin v1.0.0
```The GitHub Actions workflow will automatically:
- Build packages for all platforms
- Create a new release
- Upload the packages to the release## License
This project is licensed under the MIT License - see the LICENSE file for details.
## Contributing
Contributions are welcome! Please feel free to submit a Pull Request.