diff --git a/.github/repo_photos/banner.png b/.github/repo_photos/banner.png new file mode 100644 index 0000000..9095115 Binary files /dev/null and b/.github/repo_photos/banner.png differ diff --git a/.github/repo_photos/bmc_qr.png b/.github/repo_photos/bmc_qr.png new file mode 100644 index 0000000..c5f4614 Binary files /dev/null and b/.github/repo_photos/bmc_qr.png differ diff --git a/.github/repo_photos/sponsors.png b/.github/repo_photos/sponsors.png new file mode 100644 index 0000000..e06561a Binary files /dev/null and b/.github/repo_photos/sponsors.png differ diff --git a/README.md b/README.md index d341f28..74a9493 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,20 @@ - + -### THIS PROJECT IS IN A VERY EARLY DEVELOPMENT STAGE. MOST FEATURES ARE NOT YET READY +## About -### About +Tomato is a minimalist Pomodoro timer for Android based on Material 3 Expressive. -Tomato is a minimalist Pomodoro timer for Android based on Material 3 Expressive +### Features -### Screenshots +- Simple, minimalist UI based on the latest Material 3 Expressive guidelines +- Detailed statistics of work/study times in an easy to understand manner + - Stats for the current day visible at a glance + - Stats for the last week and last month shown in an easy to read, clean graph + - Additional stats for last week and month showing at what time of the day you're the most + productive +- Customizable timer parameters + +## Screenshots
@@ -15,4 +23,26 @@ Tomato is a minimalist Pomodoro timer for Android based on Material 3 Expressive
-
+
+
+
+
+
+## Special Thanks
+
+This app was made possible by the following libraries:
+
+- [Jetpack Navigation 3](https://developer.android.com/jetpack/androidx/releases/navigation3) -
+ Navigation
+- [Room](https://developer.android.com/jetpack/androidx/releases/room) - SQLite Database
+- [Vico](https://github.com/patrykandpatrick/vico) - Graphs and charts
\ No newline at end of file
diff --git a/app/build.gradle.kts b/app/build.gradle.kts
index 0425b1d..0c8f47f 100644
--- a/app/build.gradle.kts
+++ b/app/build.gradle.kts
@@ -23,8 +23,8 @@ android {
applicationId = "org.nsh07.pomodoro"
minSdk = 26
targetSdk = 36
- versionCode = 1
- versionName = "1.0.0-01-alpha"
+ versionCode = 2
+ versionName = "1.0.0"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
}
diff --git a/app/schemas/org.nsh07.pomodoro.data.AppDatabase/1.json b/app/schemas/org.nsh07.pomodoro.data.AppDatabase/1.json
new file mode 100644
index 0000000..1dffd57
--- /dev/null
+++ b/app/schemas/org.nsh07.pomodoro.data.AppDatabase/1.json
@@ -0,0 +1,85 @@
+{
+ "formatVersion": 1,
+ "database": {
+ "version": 1,
+ "identityHash": "d9da72c9ea3c225d6c0025a98ad32a4a",
+ "entities": [
+ {
+ "tableName": "int_preference",
+ "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`key` TEXT NOT NULL, `value` INTEGER NOT NULL, PRIMARY KEY(`key`))",
+ "fields": [
+ {
+ "fieldPath": "key",
+ "columnName": "key",
+ "affinity": "TEXT",
+ "notNull": true
+ },
+ {
+ "fieldPath": "value",
+ "columnName": "value",
+ "affinity": "INTEGER",
+ "notNull": true
+ }
+ ],
+ "primaryKey": {
+ "autoGenerate": false,
+ "columnNames": [
+ "key"
+ ]
+ }
+ },
+ {
+ "tableName": "stat",
+ "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`date` TEXT NOT NULL, `focusTimeQ1` INTEGER NOT NULL, `focusTimeQ2` INTEGER NOT NULL, `focusTimeQ3` INTEGER NOT NULL, `focusTimeQ4` INTEGER NOT NULL, `breakTime` INTEGER NOT NULL, PRIMARY KEY(`date`))",
+ "fields": [
+ {
+ "fieldPath": "date",
+ "columnName": "date",
+ "affinity": "TEXT",
+ "notNull": true
+ },
+ {
+ "fieldPath": "focusTimeQ1",
+ "columnName": "focusTimeQ1",
+ "affinity": "INTEGER",
+ "notNull": true
+ },
+ {
+ "fieldPath": "focusTimeQ2",
+ "columnName": "focusTimeQ2",
+ "affinity": "INTEGER",
+ "notNull": true
+ },
+ {
+ "fieldPath": "focusTimeQ3",
+ "columnName": "focusTimeQ3",
+ "affinity": "INTEGER",
+ "notNull": true
+ },
+ {
+ "fieldPath": "focusTimeQ4",
+ "columnName": "focusTimeQ4",
+ "affinity": "INTEGER",
+ "notNull": true
+ },
+ {
+ "fieldPath": "breakTime",
+ "columnName": "breakTime",
+ "affinity": "INTEGER",
+ "notNull": true
+ }
+ ],
+ "primaryKey": {
+ "autoGenerate": false,
+ "columnNames": [
+ "date"
+ ]
+ }
+ }
+ ],
+ "setupQueries": [
+ "CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)",
+ "INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, 'd9da72c9ea3c225d6c0025a98ad32a4a')"
+ ]
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/org/nsh07/pomodoro/ui/statsScreen/ProductivityGraph.kt b/app/src/main/java/org/nsh07/pomodoro/ui/statsScreen/ProductivityGraph.kt
index f209e33..f10402f 100644
--- a/app/src/main/java/org/nsh07/pomodoro/ui/statsScreen/ProductivityGraph.kt
+++ b/app/src/main/java/org/nsh07/pomodoro/ui/statsScreen/ProductivityGraph.kt
@@ -31,7 +31,7 @@ fun ColumnScope.ProductivityGraph(
AnimatedVisibility(expanded) {
Column(modifier = modifier) {
Text(label, style = typography.titleMedium)
- Text("Time of day versus focus duration", style = typography.bodySmall)
+ Text("Focus durations at different times of the day", style = typography.bodySmall)
Spacer(Modifier.height(8.dp))
TimeColumnChart(
modelProducer,
diff --git a/fastlane/metadata/android/en-US/images/phoneScreenshots/1.png b/fastlane/metadata/android/en-US/images/phoneScreenshots/1.png
index fe1e1ac..a296647 100644
Binary files a/fastlane/metadata/android/en-US/images/phoneScreenshots/1.png and b/fastlane/metadata/android/en-US/images/phoneScreenshots/1.png differ
diff --git a/fastlane/metadata/android/en-US/images/phoneScreenshots/2.png b/fastlane/metadata/android/en-US/images/phoneScreenshots/2.png
index e960980..cd76715 100644
Binary files a/fastlane/metadata/android/en-US/images/phoneScreenshots/2.png and b/fastlane/metadata/android/en-US/images/phoneScreenshots/2.png differ
diff --git a/fastlane/metadata/android/en-US/images/phoneScreenshots/3.png b/fastlane/metadata/android/en-US/images/phoneScreenshots/3.png
index 34f0f93..0d34bd3 100644
Binary files a/fastlane/metadata/android/en-US/images/phoneScreenshots/3.png and b/fastlane/metadata/android/en-US/images/phoneScreenshots/3.png differ
diff --git a/fastlane/metadata/android/en-US/images/phoneScreenshots/4.png b/fastlane/metadata/android/en-US/images/phoneScreenshots/4.png
index a31175b..83c6065 100644
Binary files a/fastlane/metadata/android/en-US/images/phoneScreenshots/4.png and b/fastlane/metadata/android/en-US/images/phoneScreenshots/4.png differ
diff --git a/fastlane/metadata/android/en-US/images/phoneScreenshots/5.png b/fastlane/metadata/android/en-US/images/phoneScreenshots/5.png
index 45b2bdf..3ffb9e5 100644
Binary files a/fastlane/metadata/android/en-US/images/phoneScreenshots/5.png and b/fastlane/metadata/android/en-US/images/phoneScreenshots/5.png differ
diff --git a/fastlane/metadata/android/en-US/images/phoneScreenshots/6.png b/fastlane/metadata/android/en-US/images/phoneScreenshots/6.png
index 780260b..2d18d2a 100644
Binary files a/fastlane/metadata/android/en-US/images/phoneScreenshots/6.png and b/fastlane/metadata/android/en-US/images/phoneScreenshots/6.png differ