Skip to content

Commit

Permalink
Merge pull request #40 from JoelKanyi/release/1.0.1
Browse files Browse the repository at this point in the history
Release/1.0.1
  • Loading branch information
joelkanyi authored Oct 15, 2023
2 parents 112f460 + 60dee6a commit 297fda0
Show file tree
Hide file tree
Showing 65 changed files with 930 additions and 477 deletions.
41 changes: 19 additions & 22 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,12 @@
<p align="center"><img src="art/app_logo.png" alt="MealTime" height="150px"></p>

# FocusBloom
FocusBloom is a Kotlin Multiplatform Pomodoro app that helps users enhance their productivity and time management skills through focused work intervals and short breaks.
FocusBloom is a Kotlin Multiplatform app that helps users enhance their productivity and time management skills through focused work intervals and short breaks.

## 🛠️ WIP 🛠️
> Please note that this project is still under development and some features may not work as expected.
> If you find any bugs or have any suggestions, feel free to open an issue or a pull request.
## Platforms
![](https://img.shields.io/badge/Android-black.svg?style=for-the-badge&logo=android) | ![](https://img.shields.io/badge/iOS-black.svg?style=for-the-badge&logo=apple) | ![](https://img.shields.io/badge/Desktop-black.svg?style=for-the-badge&logo=windows) | ![](https://img.shields.io/badge/Web-black.svg?style=for-the-badge&logo=google-chrome)
Expand All @@ -11,33 +16,26 @@ FocusBloom is a Kotlin Multiplatform Pomodoro app that helps users enhance their

## Screenshots
### Android
<img src="art/app_screen1.jpeg" width="250"/> <img src="art/app_screen2.jpeg" width="250"/> <img src="art/app_screen3.jpeg" width="250/"> <img src="art/app_screen4.jpeg" width="250"/> <img src="art/app_screen5.jpeg" width="250"/>
<img src="art/android_screen1.jpeg" width="250"/> <img src="art/android_screen2.jpeg" width="250"/> <img src="art/android_screen3.jpeg" width="250"/>

### iOS
<img src="art/ios_screen1.png" width="250"/> <img src="art/ios_screen2.png" width="250"/> <img src="art/ios_screen3.png" width="250"/> <img src="art/ios_screen4.png" width="250"/> <img src="art/ios_screen5.png" width="250"/> <img src="art/ios_screen6.png" width="250"/> <img src="art/ios_screen7.png" width="250"/> <img src="art/ios_screen8.png" width="250"/> <img src="art/ios_screen9.png" width="250"/>
<img src="art/ios_screen1.png" width="250"/> <img src="art/ios_screen2.png" width="250"/> <img src="art/ios_screen3.png" width="250"/>

### Desktop
<img src="art/dsk_screen1.png"/>
<img src="art/dsk_screen2.png"/>
<img src="art/dsk_screen3.png"/>
<img src="art/dsk_screen4.png"/>
<img src="art/dsk_screen5.png"/>
## Architecture
The app is shared between Android, iOS and Desktop. The shared code is written in Kotlin and the UI is built with Compose Multiplatform. The shared code is compiled to Kotlin/JVM for Android and Kotlin/Native for iOS and Desktop.


## Architecture
The app is shared between Android, iOS and Desktop. The shared code is written in Kotlin and the UI is built with Compose Multiplatform. Shared code, written in Kotlin, is compiled to JVM bytecode for Android and Desktop with Kotlin/JVM and to native binaries for iOS with Kotlin/Native.
### Modules
- shared:
- contains all the shared code between the platforms
- contains the business logic and data layer
- contains the UI layer
- contains the database layer
- contains the repository layer
- android: contains the android app
- android:
- contains the android app
- ios: contains the ios app
- ios:
- contains the ios app
- desktop: contains the desktop app
- desktop:
- contains the desktop app

## Built with
Expand All @@ -63,10 +61,6 @@ The app is shared between Android, iOS and Desktop. The shared code is written i
To run the application on android device/emulator:
- open project in Android Studio and run imported android run configuration

To build the application bundle:
- run `./gradlew :composeApp:assembleDebug`
- find `.apk` file in `composeApp/build/outputs/apk/debug/composeApp-debug.apk`

### Desktop
Run the desktop application: `./gradlew :desktop:run`

Expand All @@ -78,9 +72,12 @@ To run the application on iPhone device/simulator:
## Todo
- [ ] Work on Notifications: To remind you of upcoming and overdue tasks
- [ ] Reminders: Sounds for breaks and work sessions
- [ ]
## Credits
-
- [ ] Fix Calendar: it is not working as expected
- [ ] Add web platform: to enable users to use the app on the web
- [ ] Implement device synchronization: to enable users to sync their data across devices(Desktop, Android and iOS)
- [ ] Write tests


## License
```xml
Copyright 2023 JoelKanyi
Expand Down
4 changes: 2 additions & 2 deletions android/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@ android {
applicationId = "com.joelkanyi.focusbloom.android"
minSdk = 21
targetSdk = compileSdk
versionCode = 1
versionName = "1.0.0"
versionCode = 2
versionName = "1.0.1"
}
buildTypes {
// debug
Expand Down
Binary file added art/android_screen1.jpeg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added art/android_screen2.jpeg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added art/android_screen3.jpeg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed art/app_screen1.jpeg
Binary file not shown.
Binary file removed art/app_screen2.jpeg
Binary file not shown.
Binary file removed art/app_screen3.jpeg
Binary file not shown.
Binary file removed art/app_screen4.jpeg
Binary file not shown.
Binary file removed art/app_screen5.jpeg
Binary file not shown.
Binary file modified art/dsk_screen1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified art/dsk_screen2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified art/dsk_screen3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed art/dsk_screen4.png
Binary file not shown.
Binary file removed art/dsk_screen5.png
Binary file not shown.
Binary file modified art/ios_screen1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified art/ios_screen2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified art/ios_screen3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed art/ios_screen4.png
Binary file not shown.
Binary file removed art/ios_screen5.png
Binary file not shown.
Binary file removed art/ios_screen6.png
Binary file not shown.
Binary file removed art/ios_screen7.png
Binary file not shown.
Binary file removed art/ios_screen8.png
Binary file not shown.
Binary file removed art/ios_screen9.png
Binary file not shown.
7 changes: 4 additions & 3 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ componentsResources = "1.5.1"
koalaplotCore = "0.4.0-dev1"
korau = "4.0.6"
kotlin = "1.9.10"
gradle = "8.1.1"
gradle = "8.1.2"
kotlinxCoroutinesSwing = "1.7.3"
detekt = "1.19.0"
gradleVersionUpdate = "0.46.0"
Expand All @@ -22,7 +22,7 @@ voyager = "1.0.0-rc07"
compose-activity = "1.7.2"
koin-compose = "1.0.4"
spotless = "5.17.1"
ktlint = "11.3.1"
ktlint = "11.6.1"
accompanist-systemUIController = "0.30.1"

[plugins]
Expand Down Expand Up @@ -67,4 +67,5 @@ voyager-bottomSheetNavigator = { module = "cafe.adriel.voyager:voyager-bottom-sh
voyager-tabNavigator = { module = "cafe.adriel.voyager:voyager-tab-navigator", version.ref = "voyager" }
voyager-transitions = { module = "cafe.adriel.voyager:voyager-transitions", version.ref = "voyager" }
core-library-desugaring = { module = "com.android.tools:desugar_jdk_libs", version.ref = "core-library-desugaring" }
accompanist-systemUIController = { module = "com.google.accompanist:accompanist-systemuicontroller", version.ref = "accompanist-systemUIController" }
accompanist-systemUIController = { module = "com.google.accompanist:accompanist-systemuicontroller", version.ref = "accompanist-systemUIController" }
lifecycle-common = { group = "androidx.lifecycle", name = "lifecycle-common", version = "2.6.2" }
Loading

0 comments on commit 297fda0

Please sign in to comment.