Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cyrus243/timer
This project is an experimental web application built using Kotlin Multiplatform and WebAssembly. The app is a flexible and nice online timer with countdown and chronometer features. It provides a smooth and fast experience.
https://github.com/cyrus243/timer
compose-multiplatform kotlin-coroutines kotlin-multiplatform wasm wasm-example
Last synced: 23 days ago
JSON representation
This project is an experimental web application built using Kotlin Multiplatform and WebAssembly. The app is a flexible and nice online timer with countdown and chronometer features. It provides a smooth and fast experience.
- Host: GitHub
- URL: https://github.com/cyrus243/timer
- Owner: Cyrus243
- Created: 2024-12-14T23:20:51.000Z (about 2 months ago)
- Default Branch: main
- Last Pushed: 2024-12-19T04:06:57.000Z (about 2 months ago)
- Last Synced: 2025-01-12T21:12:53.462Z (23 days ago)
- Topics: compose-multiplatform, kotlin-coroutines, kotlin-multiplatform, wasm, wasm-example
- Language: Kotlin
- Homepage: https://cyrus243.github.io/Timer/
- Size: 16.2 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## About
This project is an experimental web application built using Kotlin Multiplatform and WebAssembly. The app is a flexible and nice online timer with countdown and chronometer features. It provides a smooth and fast experience.## Key Features
- **Countdown Timer:** Set a specific time and watch it count down to zero, with smooth animations and precise timekeeping.
- **Chronometer:** Utilize the app as a stopwatch to track elapsed time with options to start, pause, and reset.
- **Customizable Titles and Descriptions:** Add meaningful context to your timer by setting a title and description for each session.
- **Customizable Background Images:** Personalize the timer with your own images or choose from a predefined selection to match your style.
- **Customizable Timer Styles:** Tailor the appearance of the timer, including fonts, colors, and layouts, to create a unique aesthetic.## Technology Stack
[![Kotlin][kotlin-image]][kotlin-url]
[![Wasm][wasm-image]][wasm-url]
[![coroutine][coroutines-image]][coroutines-url]- **Kotlin:** The primary programming language used for this project.
- **Compose Multiplatform:** for UI
- **ViewModel:** for managing UI-related data in a lifecycle-conscious way.
- **kotlinx.coroutines:** for managing asynchronous programming and coroutines in Kotlin.
- **Kamel:** to load images from url.## Screenshot
![timer screenshot](screenshots/screenshot1.png)
![timer screenshot](screenshots/screenshot2.png)
![timer screenshot](screenshots/screenshot3.png)## Motivation
This project was created as a learning exercise to explore and understand the capabilities of KMM/WASM. The goal was to gain hands-on experience with modern web and cross-platform development technologies while building a functional and beautiful application.
## Live Demo
Check out the live demo here: [Demo](https://cyrus243.github.io/Timer/)## Getting Started
#### 1. Clone the repository
```shell
git clone https://github.com/Cyrus243/Timer.git
```#### 2. open in the latest version of intelli J IDEA ultimate
#### 3. Run the app on your device or emulator
You can open the web application by running the `:composeApp:wasmJsBrowserDevelopmentRun` Gradle task.## Contributing
Contributions are welcome! If you have ideas or improvements, feel free to open an issue, provide valuable feedback or submit a pull request.[kotlin-image]: https://img.shields.io/badge/kotlin-multiplatform?style=for-the-badge&logo=kotlin&color=%2326282c
[wasm-image]: https://img.shields.io/badge/wasm-2?style=for-the-badge&logo=webassembly&color=%23eaecf0
[coroutines-image]: https://img.shields.io/badge/kotlinx.Coroutines-3?style=for-the-badge&logo=Coroutines&color=%2326282c[kotlin-url]: https://kotlinlang.org/docs/wasm-overview.html
[wasm-url]: https://webassembly.org/
[coroutines-url]: https://kotlinlang.org/docs/coroutines-overview.html