A FOSS Git multiplatform client based on Compose and JGit.

Overview

Gitnuro

A FOSS Git client based on (Jetbrains) Compose and JGit.

The main goal of Gitnuro is to provide a multiplatform open source Git client without any kind of constraint to how you can use it nor relying on web technologies.

The project it is still in early stages and many features are lacking or missing, but it's stable for daily usage.

Gitnuro features:

  • View diffs for text based files.
  • View your history log and all its branches.
  • Add (stage) & reset (unstage) files.
  • Stage & unstage of hunks.
  • Checkout files (revert changes of uncommited files).
  • Clone.
  • Commit.
  • Reset commits.
  • Revert commits.
  • Amend previous commit.
  • Merge.
  • Rebase.
  • Create and delete branches locally.
  • Create and delete tags locally.
  • View remote branches.
  • Pull and push.
  • Stash and pop stash.
  • Checkout a commit (detached HEAD).
  • View changes/diff in images (side to side comparison).
  • Force push.
  • Remove branches from remote.
  • Manage remotes.
  • Start a new local repository.
  • Search by commit message/author/commit id.

Missing:

  • Create/Apply patches
  • Rebase interactive.
  • Remove tags from remote.
  • Side by side diff in text files.
  • View stashes in the log tree.
  • View file history.
  • Blame file.
  • Submodules support.

Steps to build

Note: Requires minimum JDK 16.

  • Clone the project
  • Open terminal/shell in the project folder
  • ./gradlew run to run the project
  • ./gradlew tasks to view other build options (native building requires java >=15)

Feel free to open issues for bugs or sugestions.

Screenshots (latest update: 04 apr 2022)

Example 1 Example 2 Example 3 Example 4 Example 5 Example 6

Comments
  • Support for Git Credential Manager

    Support for Git Credential Manager

    Hi! Just found out about Gitnuro and am pretty impressed by how convenient it is to work with. Thanks for that!

    I have a repository in Azure DevOps and the Git CLI is configured to use Git Credential Manager ( git config --global credential.helper manager-core ). This allows the CLI to pull and push from DevOps-hosted repository using MFA. This also applies for MFA-secured GitHub repositories.

    However, when pulling through Gitnuro, the authentication window pops up every time. Is there a way to recognize and use the stored credentials?

    enhancement 
    opened by alensiljak 5
  • Ensure Gitnuro follows macOS theme and add missing app icon

    Ensure Gitnuro follows macOS theme and add missing app icon

    By default Gitnuro ignores system theme and uses a white window decoration even if system is set to dark mode. This fixes that.

    On an unrelated note, the tests are failing on my mac but I'm not familiar with junit (or kotlin actually but there's a first for anything). Is there something I need to set up for the tests to not fail?

    MacOS 
    opened by ProjectInfinity 5
  • macOS support

    macOS support

    Hi, I built this project successfully on a Apple Silicone mac.

    In doing so I discovered that the version string breaks the native macOS builder during compose's task. The error in particular was: Bundler Mac Application Image skipped because of a configuration problem: The first number in an app-version cannot be zero or negative. Advice to fix: Set a compatible 'app-version' value. Valid versions are one to three integers separated by dots.

    The fix for me was to open build.gradle.kts and changing line 14 to say val projectVersion = "1.0.0"

    enhancement MacOS 
    opened by ProjectInfinity 5
  • GeforceNow start record

    GeforceNow start record

    Describe the bug GeforceNow recording app, when it started.

    To Reproduce Steps to reproduce the behavior:

    1. Install app
    2. Start

    Expected behavior When app is starting, GN does not start recording

    Screenshots image

    Desktop (please complete the following information):

    • OS: Windows 10 Education Edition
    • Version 1.0.1
    bug 
    opened by dizyaa 4
  • Allow macOS to use CMD+R to refresh repositories

    Allow macOS to use CMD+R to refresh repositories

    On macOS it is pretty common to use Command + R to refresh views as opposed to F5. This change does not remove the ability to use F5 but it adds a case for if the platform is macOS to use Command + R instead.

    opened by ProjectInfinity 4
  • Project not building after cloning

    Project not building after cloning

    Describe the bug Cloned the project and try to build it

    To Reproduce Steps to reproduce the behavior:

    1. Click build after cloning it in IDE

    Expected behavior Project to build successfully

    Screenshots image

    Desktop (please complete the following information):

    • OS: Linux
    • Version Fedora 36
    bug 
    opened by nishp77 3
  • deb/rpm package for linux

    deb/rpm package for linux

    Is your feature request related to a problem? Please describe. More fastest work without virtual env. Smaller install size.

    Describe the solution you'd like Build for current and previous supported Linux OS version. Depend from installed in system JRE.

    Describe alternatives you've considered Vanille deb/rpm package/zip which in startup request user specify path to JRE (17)

    Additional context I have bad perfomance on IDEA installed from Snap/Flatpak. Install from zip give best perfomance because work with OS directly.

    enhancement 
    opened by long76 3
  • [Feature] Remember last pull/push choice

    [Feature] Remember last pull/push choice

    After does a forced push, change the icon (or text) of main bar button and next clicks always execute a force push. Apply the same behavior for pull button.

    enhancement wontfix 
    opened by fdc263 3
  • Improve default width of sidemenu

    Improve default width of sidemenu

    The default width of the sidemenu is too low and does not even fit its own header text. It has been increased to provide a better visual experience.

    Before: image

    After: image

    opened by ProjectInfinity 3
  • Ctrl+Backspace Crashes

    Ctrl+Backspace Crashes

    When changing your name/email you can crash the program by pressing CTRL+Backspace (shortcut for deleting whole word). That is all that is needed to reproduce error. Simply backspacing does not reproduce error.

    image (alt: Error: offset(-1) is out of bounds [0, 0])

    bug UI compose-issue 
    opened by aiquiti 2
  • Failed to push :  Invalid credentials helper:

    Failed to push : Invalid credentials helper: "store" is not yet supported

    Describe the bug our gitlab server is protected by SSO OpenidConnect With git cli no problem to connect , we use personal token as password

    but in gitnuro we dhave not provide any credentials and we have this error when we want to push commit

    com.jetpackduba.gitnuro.exceptions.NotSupportedHelper: Invalid credentials helper: "store" is not yet supported
    	at com.jetpackduba.gitnuro.credentials.HttpCredentialsProvider.getExternalCredentialsHelper(HttpCredentialsProvider.kt:207)
    	at com.jetpackduba.gitnuro.credentials.HttpCredentialsProvider.get(HttpCredentialsProvider.kt:42)
    	at org.eclipse.jgit.transport.HttpAuthMethod.authorize(HttpAuthMethod.java:205)
    	at org.eclipse.jgit.transport.TransportHttp.connect(TransportHttp.java:683)
    	at org.eclipse.jgit.transport.TransportHttp.connect(TransportHttp.java:627)
    	at org.eclipse.jgit.transport.TransportHttp.openPush(TransportHttp.java:541)
    	at org.eclipse.jgit.transport.PushProcess.execute(PushProcess.java:138)
    	at org.eclipse.jgit.transport.Transport.push(Transport.java:1473)
    	at org.eclipse.jgit.api.PushCommand.call(PushCommand.java:149)
    	at com.jetpackduba.gitnuro.git.remote_operations.PushBranchUseCase$invoke$2.invokeSuspend(PushBranchUseCase.kt:26)
    	at com.jetpackduba.gitnuro.git.remote_operations.PushBranchUseCase$invoke$2.invoke(PushBranchUseCase.kt)
    	at com.jetpackduba.gitnuro.git.remote_operations.PushBranchUseCase$invoke$2.invoke(PushBranchUseCase.kt)
    	at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:89)
    	at kotlinx.coroutines.BuildersKt__Builders_commonKt.withContext(Builders.common.kt:166)
    	at kotlinx.coroutines.BuildersKt.withContext(Unknown Source)
    	at com.jetpackduba.gitnuro.git.remote_operations.PushBranchUseCase.invoke(PushBranchUseCase.kt:14)
    	at com.jetpackduba.gitnuro.viewmodels.MenuViewModel$push$1.invokeSuspend(MenuViewModel.kt:40)
    	at com.jetpackduba.gitnuro.viewmodels.MenuViewModel$push$1.invoke(MenuViewModel.kt)
    	at com.jetpackduba.gitnuro.viewmodels.MenuViewModel$push$1.invoke(MenuViewModel.kt)
    	at com.jetpackduba.gitnuro.git.TabState$safeProcessing$1$2.invokeSuspend(TabState.kt:73)
    	at com.jetpackduba.gitnuro.git.TabState$safeProcessing$1$2.invoke(TabState.kt)
    	at com.jetpackduba.gitnuro.git.TabState$safeProcessing$1$2.invoke(TabState.kt)
    	at com.jetpackduba.gitnuro.extensions.StateManagementUtilsKt.delayedStateChange(StateManagementUtils.kt:21)
    	at com.jetpackduba.gitnuro.git.TabState$safeProcessing$1.invokeSuspend(TabState.kt:67)
    	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
    	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
    	at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:42)
    	at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:95)
    	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
    	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:749)
    	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
    	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)
    LastError flow: Error(date=1669201149734, exception=com.jetpackduba.gitnuro.exceptions.NotSupportedHelper: Invalid credentials helper: "store" is not yet supported, message=Invalid credentials helper: "store" is not yet supported)
    
    

    Desktop :

    • OS: Linux ubuntu
    • Version [22.04]
    bug 
    opened by pdefert 2
  • Add native macOS filepicker

    Add native macOS filepicker

    Here's a quick suggestion for a implementation on macOS to use Java's native filepicker implementation.

    This only enables it for macOS as I cannot test it elsewhere right now, nor am I sure if it is a problem.

    opened by ProjectInfinity 1
  • Unable to open existing (local) repositories.

    Unable to open existing (local) repositories.

    Describe the bug On a new tab, I click on "Open a repository", navigate and select the already existing repository, and click "open". An error appear and I can't open the repo. The repo are fine using "git" command line, and other clients.

    The java error shows:

    SystemDialogs - IsZenityInstalled true
    TabViewModel - Trying to open repository /home/...../MyProject
    org.eclipse.jgit.errors.NoWorkTreeException: Bare Repository has neither a working tree, nor an index
            at org.eclipse.jgit.lib.Repository.getWorkTree(Repository.java:1573)
            at com.jetpackduba.gitnuro.viewmodels.TabViewModel$openRepository$1.invokeSuspend(TabViewModel.kt:164)
            at com.jetpackduba.gitnuro.viewmodels.TabViewModel$openRepository$1.invoke(TabViewModel.kt)
            at com.jetpackduba.gitnuro.viewmodels.TabViewModel$openRepository$1.invoke(TabViewModel.kt)
            at com.jetpackduba.gitnuro.git.TabState$safeProcessingWithoutGit$1.invokeSuspend(TabState.kt:100)
            at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
            at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
            at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:42)
            at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:95)
            at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
            at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:749)
            at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
            at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)
    LastError flow: Error(date=1671283726874, exception=org.eclipse.jgit.errors.NoWorkTreeException: Bare Repository has neither a working tree, nor an index, message=Bare Repository has neither a working tree, nor an index)
    

    To Reproduce Steps to reproduce the behavior:

    1. Run the application: java -jar Gitnuro.....jar
    2. On a new tab, click on "Open a repository"
    3. Navigate to the cloned, non-bar repository. (cloned with git clone https:...... MyProject)
    4. See error

    Expected behavior Eventually, see the repository open in the GUI.

    Screenshots image

    image

    Desktop (please complete the following information):

    • OS: Debian 11, on kernel 5.10.0-19-amd64
    • KDE Plasma desktop 5.20.5
    • OpenSDK 17.0.4
    bug 
    opened by Escain 3
  • The file browser dialog is seems to be broken on macOS

    The file browser dialog is seems to be broken on macOS

    Describe the bug The file browser does not allow navigating the file system at all.

    To Reproduce Steps to reproduce the behavior:

    1. Open the app.
    2. Click "Open a repository."
    3. Try to navigate into any of the folders listed by double clicking on them (nothing happens).
    4. Seems that theming is also pretty broken (highlighting and colors are odd).

    Expected behavior Might be better to have the native macOS file browser dialog?

    Screenshots If applicable, add screenshots to help explain your problem.

    Desktop (please complete the following information):

    • OS: macOS
    • Version 12.6.1 (21G217)
    • gitnuro installed via brew
    bug 
    opened by taranlu-houzz 11
  • Predefined commit messages

    Predefined commit messages

    It will be better if there is a button that opens a list to let user select a predefined message in settings next to the "Commit", and support some variables such as date, time, changed file names or something like that

    enhancement 
    opened by earthjasonlin 0
  • Write commit message at awrong korean lang Text at Double inputs that's space_bar

    Write commit message at awrong korean lang Text at Double inputs that's space_bar

    Describe the bug A clear and concise description of what the bug is. Hi. sorry. im very little english.. T_T Hi. That's Bug report. : korean lang Text at Double inputs

    To Reproduce Steps to reproduce the behavior:

    1. Go to 'Writing to korea langs at Commit message'
    2. Click on ' no click, take keyboard at spacebar'
    3. Scroll down to 'no scroll down'
    4. See error 'Last Words thats double inputs, "입력-> 입력력"

    Expected behavior A clear and concise description of what you expected to happen.

    Screenshots If applicable, add screenshots to help explain your problem. image

    Desktop (please complete the following information):

    • OS: Windows 10 Pro 21H2
    • Version 19044.2251
    bug 
    opened by sjin9696 1
Releases(v1.1.1)
  • v1.1.1(Nov 15, 2022)

    This new release of Gitnuro feature multiple bug fixes as well as some minnor UI improvements.

    UI

    • Improved graph visualization so it's easier to follow branches.
    • Added noto sans to be the default mono font.

    Bugfixes

    • Fixed tabs scrollbar handling clicks when it isn't visible. Now clicking on the top part of a tab will work as expected.
    • Fixed repository state not refreshing if branch checkout has failed after creation.
    • Fixed images opening in system default image viewer not working.
    • Fixed log splitter over-dragging when having density higher than 100%.

    Additional notes

    • Autorefresh when detecting changes in the Git directory has been temporarily disabled due to performance issues & specific issues with inotify in Linux. Use F5 (or the option in the actions menu) to refresh the tab state. Release 1.2 will fix this as it has got high priority.

    Linux:

    • Available as Flatpak here or by running flatpak install --user com.jetpackduba.Gitnuro if you have Flatpak & Flathub already setup.
    • JAR file can be executed as a portable version (Requires JRE 17).

    Windows:

    • Installable version.
    • Portable version.

    MacOS:

    • ZIP which contains the app bundle.
    • Using hombrew: brew install jetpackduba/apps/gitnuro
    Source code(tar.gz)
    Source code(zip)
    Gitnuro-linux-1.1.1.jar(36.60 MB)
    Gitnuro-macos-1.1.1.zip(79.00 MB)
    Gitnuro_Windows_Installer_1.1.1.exe(60.15 MB)
    Gitnuro_Windows_Portable_1.1.1.zip(77.81 MB)
  • v1.1.0(Oct 29, 2022)

    I'm happy to share with you this new release of Gitnuro, which is a refinement over 1.0 to improve the UX and add some new features.

    New features

    • Stage & unstage lines individually.
    • Diff can now compared side by side (old - new).
    • Images will no longer be stretched and clicking on them will open them in your default image viewer.
    • Added support for animated images (GIF & WebP).
    • Support for external credentials manager (It requires specifing the full path to the credentials manager. See https://github.com/JetpackDuba/Gitnuro/issues/16)
    • Increased recent repositories count to 10 .

    UI/UX

    • Lists scrolling improved (affects all the lists like commits history, blame, changed files, etc.)
    • Buttons & text fields use a design more fit for desktop usage.
    • Tabs can now be scrolled when overflowing.
    • Tabs are now easier to click on by removing unnecessary spacing at the top.
    • Improved dialogs UX to add more information about certain operations, specially helpful for users with less experience using Git.
    • Contextual menus are renewed. Now entries are grouped and many have icons to make them easier to identify.
    • Small tweaks in how UI components are displayed when the screen has a lower resolution or the window is smaller.
    • Tweaked colors of light & dark theme.
    • Adjusted some components to improve their cohesion (uncommited changes & commit changes).

    Bugfixes

    • Newly added remotes were being ignored during a "Fetch all" operation.
    • Search not scrolling to the correct line
    • Files names being cut instead of cutting as much as possible from the path.
    • Rebase interactive & reverse commits were failing without showing any feedback to the user.

    Additional notes

    • Autorefresh when detecting changes in the Git directory has been temporarily disabled due to performance issues & specific issues with inotify in Linux. Use F5 (or the option in the actions menu) to refresh the tab state. Release 1.2 will fix this as it has got high priority.
    • Themes JSON has changed and is not compatible with previous releases. Check the readme to get the latest version. The JSON will probably be changed again for release 1.2 until the colors palette is "stabilized".

    Linux:

    • Available as Flatpak here or by running flatpak install --user com.jetpackduba.Gitnuro if you have Flatpak & Flathub already setup.
    • JAR file can be executed as a portable version (Requires JRE 17).

    Windows:

    • Installable version.
    • Portable version.

    MacOS:

    • ZIP which contains the app bundle.
    • Using hombrew: brew install jetpackduba/apps/gitnuro
    Source code(tar.gz)
    Source code(zip)
    Gitnuro-linux-1.1.0.jar(34.83 MB)
    Gitnuro-macos-1.1.0.zip(80.17 MB)
    Gitnuro_Windows_Installer_1.1.0.exe(58.40 MB)
    Gitnuro_Windows_Portable_1.1.0.zip(77.06 MB)
  • v1.0.1(Aug 7, 2022)

    Bugfixes

    • Fixed dialogs on linux not showing native UI.
    • Fixed buttons' text color in light theme.
    • Fixed "Source code" & "Report a bug" buttons not always working.

    Changes

    • Added scaling option to 125%.

    Downloads

    Linux:

    • Available as Flatpak here.
    • JAR file can be executed as a portable version (Requires JRE 17).

    Windows:

    • Installable version.
    • Portable version.

    MacOS:

    • ZIP which contains the app bundle.
    • Using hombrew: brew install jetpackduba/apps/gitnuro
    Source code(tar.gz)
    Source code(zip)
    Gitnuro-linux-1.0.1.jar(32.71 MB)
    Gitnuro-macos-1.0.1.zip(78.45 MB)
    Gitnuro_Windows_Installer_1.0.1.exe(56.69 MB)
    Gitnuro_Windows_Portable_1.0.1.zip(75.21 MB)
  • v1.0.0(Aug 6, 2022)

    Gitnuro 1.0 release is ready!

    It contains a big list of changes to improve the users' experience.

    Main features/Improvements

    • Added rebase interactive (includes reword, pick, squash and fixup).
    • Added blame file.
    • Added file history
    • Added setting to change max displayed commits.
    • Added support for SSH authentication using ED25519 keys.
    • Added option to set custom message to stashes.
    • UI has been redesigned for better consistency and accessibility.
    • Commit message is now persisted, no more messages pending to commit lost if Gitnuro or the repo tab have been closed.
    • Dialog to edit author information globally or for specific repositories.

    Bug fixes

    • Reduced memory usage when having multiple open repositories by sharing a single tab component across different tabs.
    • Fixed crash when opening an external URL if the browser is not available.
    • Fixed crash when using tags that point to blobs.
    • Fixed multiple Git operations not refreshing UI in case of failure (like cherrypick or rebase).

    UI changes/fixes:

    • Fixed open directory dialog showing "Save" instead of "Open" in the title bar.
    • Changed default font to Open Sans.
    • Fixed log's graph display when using screens with scale different than 1.
    • Changed cursor when changing the log's graph size.
    • Removed flickering when switching between commits.
    • Moved date in the commit's detail to be aligned with the commit hash (to prevent the date being hidden when the commiter has a long name).
    • Reduced font size on tab titles.
    • Selecting an item now changes the background instead of changing the text color (improved contrast).
    • Fixed diff cutting lines when overflowing.
    • Tabs are replaced with 4 spaces until https://github.com/JetBrains/compose-jb/issues/615 is fixed.
    • Added new dark gray theme and option to create a custom theme.
    • Added option to set UI scale.
    • Clicking on commit detail ID will copy the full ID to the clipboard.
    • Merge and rebase dialog removed (Fast-forward merge option can be disabled from the settings).
    • Implemented repository refresh with F5 (Also Ctrl+R for Linux & CMD+R for Mac).
    • Reduced UI blinking in certain features like stage/unstage, log reload or diff update.
    • Added scroll to top button when the log is scrolled.

    Linux:

    • Available as Flatpak here.
    • JAR file can be executed as a portable version (Requires JRE 17).

    Windows:

    • Installable version.
    • Portable version.

    MacOS available in the next few days.

    Source code(tar.gz)
    Source code(zip)
    Gitnuro-linux-1.0.0.jar(32.71 MB)
    Gitnuro_Windows_Installer_1.0.0.exe(56.67 MB)
    Gitnuro_Windows_Portable_1.0.0.zip(75.21 MB)
  • v0.1.1(Apr 7, 2022)

    This second release includes the next bugfixes and improvements:

    • Hunk stage/unstage now works properly at the end of file and with specific combination of additions/deletions.
    • Status is up to 100 times faster in comparison with the v0.1.0 (depending on the uncommited changes).
    • Fixed graph size not being recalculated in specific cases.
    • Improved clone dialog errors handling.
    • Simplified line delimiter handling to work with all type of delimiters.

    Linux:

    • Available as Flatpak here.
    • JAR file can be executed as a portable version (Requires JRE 17).

    Windows:

    • Installable version.
    • Portable version.

    MacOS:

    • Not yet ready (soon).
    Source code(tar.gz)
    Source code(zip)
    Gitnuro-0.1.1.jar(31.49 MB)
    Gitnuro_Windows_Installer_0.1.1.exe(55.51 MB)
    Gitnuro_Windows_Portable_0.1.1.zip(74.03 MB)
  • v0.1.0(Apr 4, 2022)

    First version of Gitnuro released!

    This version includes the following features:

    • View diffs for text based files.
    • View your history log and all its branches.
    • Add (stage) & reset (unstage) files.
    • Stage & unstage of hunks.
    • Checkout files (revert changes of uncommited files).
    • Clone.
    • Commit.
    • Reset commits.
    • Revert commits.
    • Amend previous commit.
    • Merge.
    • Rebase.
    • Create and delete branches locally.
    • Create and delete tags locally.
    • View remote branches.
    • Pull and push.
    • Stash and pop stash.
    • Checkout a commit (detached HEAD).
    • View changes/diff in images (side to side comparison).
    • Force push.
    • Remove branches from remote.
    • Manage remotes.
    • Start a new local repository.
    • Search by commit message/author/commit id.

    Linux:

    • Flatpak available.
    • JAR file can be executed as a portable version (Requires JRE 17).

    Windows:

    • Installable version.
    • Portable version.

    MacOS:

    • Not yet ready (soon).
    Source code(tar.gz)
    Source code(zip)
    Gitnuro-0.1.0.jar(31.49 MB)
    Gitnuro_Windows_Installer_0.1.0.exe(55.50 MB)
    Gitnuro_Windows_Portable_0.1.0.zip(74.03 MB)
Owner
Abdelilah El Aissaoui
Linux lover!
Abdelilah El Aissaoui
🧸 A multiplatform coroutine-based wrapper for popular platform-specific Redis client libraries

?? rekt ⚠️ WARNING! This project is experimental and may be missing essential features. Please let us know if you found any issues or have any suggest

Southdust Team 3 Aug 31, 2022
Kotlin-client-dsl - A kotlin-based dsl project for a (Client) -> (Plugin) styled program

kotlin-client-dsl a kotlin-based dsl project for a (Client) -> (Plugin) styled p

jackson 3 Dec 10, 2022
Funstuff - Minimal Kotlin Multiplatform project with SwiftUI, Jetpack Compose, Compose for Wear OS, Compose for Desktop

PeopleInSpace Minimal Kotlin Multiplatform project with SwiftUI, Jetpack Compose

Shivam Dhuria 2 Feb 15, 2022
GraphQL based Jetpack Compose and SwiftUI Kotlin Multiplatform sample

GraphQL based Jetpack Compose and SwiftUI Kotlin Multiplatform sample

John O'Reilly 151 Jan 3, 2023
Server Sent Events (SSE) client multiplatform library made with Kotlin and backed by coroutines

OkSSE OkSSE is an client for Server Sent events protocol written in Kotlin Multiplatform. The implementation is written according to W3C Recommendatio

BioWink GmbH 39 Nov 4, 2022
Kotlin Multiplatform is an SDK for cross-platform mobile development, which enables teams to use the same business logic in both Android and iOS client applications.

Kotlin Multiplatform is an SDK for cross-platform mobile development, which enables teams to use the same business logic in both Android and iOS client applications.

Chris Russell 1 Feb 11, 2022
Mobile client for official Nextcloud News App written as Kotlin Multiplatform Project

Newsout Android and iOS mobile client for Nextcloud news App. The Android client is already available to download in the Play Store. F-Droid and Apple

Simon Schubert 118 Oct 3, 2022
Paper-ui - A Multiplatform Compose Theme for your Compose app

paper-ui (WIP) Screen.Recording.2022-02-13.at.8.14.45.PM.mov A Multiplatform Com

theapache64 45 Oct 5, 2022
A Kotlin Multiplatform and Compose template that allows you to easily set up your project targeting: Android, Desktop, and Web

A Kotlin Multiplatform and Compose template that allows you to easily set up your project targeting: Android, Desktop, and Web

Carlos Mota 3 Oct 27, 2021
Unsplash application for Android, Desktop and Web. Built using Kotlin Multiplatform and Compose

Unsplash Unsplash application for Android, Desktop and Web. Built using Kotlin Multiplatform and Compose with ❤️ ?? Presentation Set up the environmen

Carlos Mota 15 Nov 11, 2022
Kotlin Multiplatform lifecycle-aware business logic components (aka BLoCs) with routing functionality and pluggable UI (Jetpack Compose, SwiftUI, JS React, etc.), inspired by Badoos RIBs fork of the Uber RIBs framework

Decompose Please see the project website for documentation and APIs. Decompose is a Kotlin Multiplatform library for breaking down your code into life

Arkadii Ivanov 819 Dec 29, 2022
Kotlin Multiplatform Mobile + Mobile Declarative UI Framework (Jetpack Compose and SwiftUI)

Kotlin Multiplatform Mobile + Mobile Declarative UI Framework (Jetpack Compose and SwiftUI)

Kotchaphan Muangsan 3 Nov 15, 2022
MangaKu App Powered by Kotlin Multiplatform Mobile, Jetpack Compose, and SwiftUI

MangaKu ?? Introduction MangaKu App Powered by Kotlin Multiplatform Mobile, Jetpack Compose, and SwiftUI Module core: data and domain layer iosApp: io

Uwais Alqadri 132 Jan 8, 2023
KmMScientists is a Kotlin multiplatform app with swift ui, jetpack compose, koin and realm

KmMScientists KmMScientists is a Kotlin multiplatform app built with swift ui, jetpack compose, koin and realm. Whats Shared? Local Data Persistence w

Kashif Mehmood 20 Dec 27, 2022
Real life Kotlin Multiplatform project with an iOS application developed in Swift with SwiftUI, an Android application developed in Kotlin with Jetpack Compose and a backed in Kotlin hosted on AppEngine.

Conferences4Hall Real life Kotlin Multiplatform project with an iOS application developed in Swift with SwiftUI, an Android application developed in K

Gérard Paligot 98 Dec 15, 2022
Dependency Injection library for Compose Multiplatform, Koin wrapper.

?? Cokoin Injection library for Compose (Multiplatform and Jetpack), Koin wrapper. It uses @Composable functions to configure KoinContext and Scopes.

Bruno Wieczorek 57 Dec 29, 2022
Compose Multiplatform integration for Redux-Kotlin

Redux-Kotlin-Compose Compose Multiplatform integration for Redux Kotlin Installation Artifacts are hosted on maven central. For multiplatform, add the

Redux-Kotlin 7 Sep 7, 2022
🍭 GithubSearchKMM - Github Repos Search - Android - iOS - Kotlin Multiplatform Mobile using Jetpack Compose, SwiftUI, FlowRedux, Coroutines Flow, Dagger Hilt, Koin Dependency Injection, shared KMP ViewModel, Clean Architecture

GithubSearchKMM Github Repos Search - Kotlin Multiplatform Mobile using Jetpack Compose, SwiftUI, FlowRedux, Coroutines Flow, Dagger Hilt, Koin Depend

Petrus Nguyễn Thái Học 50 Jan 7, 2023
A tiny Kotlin multiplatform library that assists in saving and restoring objects to and from disk using kotlinx.coroutines, kotlinx.serialisation and okio

Store A tiny Kotlin multiplatform library that assists in saving and restoring objects to and from disk using kotlinx.coroutines, kotlinx.serialisatio

Isuru Rajapakse 98 Jan 3, 2023