Skip to content

Commit

Permalink
Version 1.5.0 (#38)
Browse files Browse the repository at this point in the history
* Add missing string to i18n

* Update libs.versions.toml

* Add caution message to readme file

* Update to compose multiplatform 1.6.10-rc01

* Migrate screens from Voyager to Compose multiplatform (view model and navigation)

* Migrate from exposed to room

* Replace Dialog for DialogWindow

* Update version and changelog

* Update gems

* Add tablr icons

* Replace octicons and remixicon for tabler
  • Loading branch information
walter-juan authored May 14, 2024
1 parent ea43d81 commit 1ec2fdc
Show file tree
Hide file tree
Showing 8,083 changed files with 146,739 additions and 23,751 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
14 changes: 13 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Fixed
### Security

## [1.5.0]
### ⚠️ IMPORTANT ⚠️
- The database has been replaced. Before upgrading export the repositories and update the exported YAML to import them later.
### Changed
- Replace Exposed for Room multiplatform
- Replace Voyager for ViewModel and Jetpack Navigation multiplatform
- Replace [Octicons](https://github.com/primer/octicons/) for [Tabler](https://github.com/tabler/tabler-icons) icons
- Replace [Remix](https://github.com/Remix-Design/remixicon/) for [Tabler](https://github.com/tabler/tabler-icons) icons
### Security
- 😔 Database encryption removed, everything stored as plain text

## [1.4.2]
### Fixed
- Trim data when import and before save to avoid errors
Expand Down Expand Up @@ -175,7 +186,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [1.0.0]
_First version_

[unreleased]: https://github.com/walter-juan/ghd/compare/v1.4.2...dev
[unreleased]: https://github.com/walter-juan/ghd/compare/v1.5.0...dev
[1.5.0]: https://github.com/walter-juan/ghd/releases/tag/v1.5.0
[1.4.2]: https://github.com/walter-juan/ghd/releases/tag/v1.4.2
[1.4.1]: https://github.com/walter-juan/ghd/releases/tag/v1.4.1
[1.4.0]: https://github.com/walter-juan/ghd/releases/tag/v1.4.0
Expand Down
41 changes: 13 additions & 28 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,15 @@

> ⚠️ This is a personal project created to solve a need and play with it, try some libraries, etc.
> [!NOTE]
> This is a personal project created to solve a need and play with it, try some libraries, etc.
>
> That said, **I'm not responsible if one day the app stops working** or doesn't work properly and you need to re-install it. **This should not happen**, but if a re-installation is needed it will be written in the release notes.
> [!CAUTION]
> Migrated to Compose navigation, view models and Room KMP with non-final versions it could be unstable
>
> Things to solve in a future:
> - [ ] Whole database encryption removed, PAT will be stored as plain text
> - [ ] Relations with [Intermediate data class](https://developer.android.com/training/data-storage/room/relationships#data-class), seems not to be working (search for `TODO relations`)
# GHD

[GHD (GitHub Dashboard)](https://github.com/walter-juan/ghd), is an application to show the pull requests and releases from your GitHub repositories.
Expand Down Expand Up @@ -118,36 +125,15 @@ The folder `scripts` contains some scripts in Ruby:
```shell
cd scripts
```
- Download octicons
```shell
bundle exec ruby octicons-download.rb
```
- Download remixicon
- Download tabler icons
```shell
bundle exec ruby remixicon-download.rb
bundle exec ruby tabler-icons-download.rb
```

# Database

The database used in this project is [H2](https://www.h2database.com/) because of encryption support + embedded. As the database is encrypted a user and password is required, you can find it in [DbSettings](app/src/main/kotlin/com/woowla/ghd/data/local/db/DbSettings.kt).

**H2 Commands**

- [`SCRIPT`](https://www.h2database.com/html/commands.html#script): Creates a SQL script from the database.

**H2 Console**

For more detailed information follow [the tutorial from H2](https://www.h2database.com/html/tutorial.html).

1. Download H2 console app:
- The `Platform-Independent Zip` from [the website](https://www.h2database.com/html/download.html)
- Or `h2-<version>.jar` from [the GitHub releases](https://github.com/h2database/h2database/releases)
2. From terminal run the h2 `$ java -jar h2*.jar` and the web browser will be opened.
3. In the [DbSettings](app/src/main/kotlin/com/woowla/ghd/data/local/db/DbSettings.kt) you can find all the data required like the URL, driver, user and password

# Links
- GitHub
- [GitHub Actions runner images](https://github.com/actions/runner-images)
- [GitHub GraphQL schema](https://docs.github.com/en/graphql/overview/public-schema)
- Compose Multiplatform
- [Landing page](https://www.jetbrains.com/lp/compose-multiplatform/)
- [GitHub repo](https://github.com/JetBrains/compose-multiplatform)
Expand All @@ -172,8 +158,7 @@ For more detailed information follow [the tutorial from H2](https://www.h2databa
- [Gurupreet/ComposeCookBook](https://github.com/Gurupreet/ComposeCookBook)
- [Gurupreet/ComposeSpotifyDesktop](https://github.com/Gurupreet/ComposeSpotifyDesktop)
- Icons
- [Octicons](https://primer.style/octicons/), [Octicons GitHub](https://github.com/primer/octicons/)
- [Remix icon](https://remixicon.com/), [Remix icon GitHub](https://github.com/Remix-Design/remixicon/)
- [Tabler](https://tabler.io/icons), [Tabler GitHub](https://github.com/tabler/tabler-icons)
- [Google material icons](https://fonts.google.com/icons)
- Colors
- More or less all of them should be in [MaterialColors](app/src/main/kotlin/com/woowla/ghd/utils/MaterialColors.kt)
Expand Down
20 changes: 13 additions & 7 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,16 @@ plugins {
alias(libs.plugins.kotlin.jvm)
alias(libs.plugins.kotlin.plugin.serialization)
alias(libs.plugins.kapt)
alias(libs.plugins.ksp)
alias(libs.plugins.compose)
alias(libs.plugins.apollo3)
alias(libs.plugins.buildconfig)
alias(libs.plugins.benmanesversions)
alias(libs.plugins.androidx.room)
}

group = "com.woowla"
version = "1.4.2"
version = "1.5.0"
val debug = (extra["debugConfig"] as String).toBoolean()
val debugAppFolder = "ghd-debug"

Expand Down Expand Up @@ -54,8 +56,7 @@ buildConfig {
}

dependencies {
implementation(project(":icons:octicons"))
implementation(project(":icons:remixicon"))
implementation(project(":icons:tabler"))

implementation(compose.desktop.currentOs)
@OptIn(org.jetbrains.compose.ExperimentalComposeLibrary::class)
Expand All @@ -65,21 +66,26 @@ dependencies {
implementation(libs.ktor.serialization.kotlinx.json)
implementation(libs.bundles.ktor.client)
implementation(libs.apollo3)
implementation(libs.h2)
implementation(libs.bundles.exposed)
implementation(libs.kotlinx.datetime)
implementation(libs.logback.classic)
implementation(libs.appdirs)
implementation(libs.kamel)
implementation(libs.bundles.voyager)
implementation(libs.kaml)
implementation(libs.semver)
implementation(libs.flyway.core)
implementation(libs.tinder.statemachine)
implementation(libs.androidx.navigation.compose)
implementation(libs.androidx.lifecycle.viewmodel.compose)
ksp(libs.androidx.room.compiler)
implementation(libs.androidx.room.runtime)
implementation(libs.androidx.sqlite.bundled)

testImplementation(libs.bundles.test.kotest)
}

room {
schemaDirectory("${projectDir}/src/main/room/schemas")
}

compose.desktop {
application {
mainClass = "MainKt"
Expand Down
Loading

0 comments on commit 1ec2fdc

Please sign in to comment.